Продукционная модель позволяет "надстраивать" недостающие сведения об объектах на основе имеющихся данных.

Продукционные правила описываются для классов и применяются к объектам этих классов.
Правила содержат 2 секции:
==условие==
и
==следствие==

Правила применяются к объекту после того как свойства или признаки объекта были изменены действием или фактом.

После завершения функции измененный объект обрабатывается в следующем порядке:
1. откатываются все изменения (продукции), внесённые продукционными правилами ранее.
2. составляется список правил, применимых к объекту, и сортируется по приоритету.
3. правила последовательно применяются к объекту.

Пример:
правило класса цветок
{ ==условие==
  this.цветёт
  ==следствие==
  this.пахнет = да
}