Rule-firing Agenda.
Since many rules may be matched by a single assertObject(...) all scheduled
actions are placed into the Agenda .
While processing a scheduled action, it may update or retract objects in
other scheduled actions, which must then be removed from the agenda.
Non-invalidated actions are left on the agenda, and are executed in turn.
author: bob mcwhirter author: Simon Harris |