| Conversation | A Conversation is a stateful exchange of messages between 2 or more agents. |
| ConversationCondition | A FSM TransitionCondition which ensures that the message passed in
the event matches the conversation in the
FSMConversation. |
| ConversationSpawnEvent | Event to spawn a new conversation and initialise it with recipients. |
| FSMConversation | |
| FSMProtocol | Protocol implementation using an FSM to control state changes
and actions. |
| InitialiseConversationAction | An implementation of a MessageAction designed to initialise the
conversation on first message receipt. |
| MessageAction | Wraps an FSM Action to correctly cast event and entity to a
Message and FSMConversation respectively, and provide the
#processMessage(Message, FSMConversation) method to perform the
required actions with these objects. |
| MessageTypeAndContentsCondition | FSM TransitionCondition to check the type and
data properties of a received message matches a given value. |
| MessageTypeCondition | FSM TransitionCondition to check the type property of a
received message matches a given value. |
| Protocol |
An |
| SpawnAction | Wraps an FSM Action to cast the event and entity to a
ConversationSpawnEvent and FSMConversation respectively and
provide the
processSpawn(ConversationSpawnEvent, FSMConversation, Transition)
method to perform actions required when the conversation is spawned. |
| TimeoutCondition | Guard which allows a transition when a Timeout event is passed and the last action of this fsm was older than the timeout. |