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