The message types exported via state changes to the model are defined in Table 2 below. In addition to message types, message are grouped together by the notion of a transaction. A transaction is defined as an ordered collection of state change messages. Often, an agent will not know whether an evaluation was sucessful until after the evaluation is done. However, state changes to the model are being explored and generated.
Transactions provide the mechanism to undo an evaluation in an orderly manner.
Agents define the granularity of the transaction boundary by explicitly executing a commit when a set of work is complete. In addition to exporting events, events can be propogated into the object model by receiving messages from an external source. The supported state changes are summarized in Table 3 below. The state changes in the object model must interface to the messaging system that ultimately connects to the facilitator. I believe that an object model cannot be specified without this type of capability.