Event Monitor

Event Monitor is an application that can managed the status of a collection of entities as they evolve though an event path.

Event Monitor supports the following:

Event
An event has the following attributes:
Aspect
Events are always organized into aspects. Examples include: planned, scheduled, actual, revised, estimated
Type
Examples: Load, unload, arrive, depart, lost, damaged, found, destroyed. Pre-defined event types include insert_into_entity_po_set and remove_from_entity_po_set.
Time
The event time.
Location
The event location.
Entity
The event entity name.
Entity
An entity has a global id and a set of attributes. The attributes are defined by the application. Entities have owners. A OWNER is an individual or organization itself registered as a entity with the system. Each such must have a notification method property (such as an e-mail address).
Entity PO Set
A collection of nodes with a partial ordering. Each node has:
Ideals
An ideal is a collection of nodes that is closed under either the greater than or less than relation. That is if a node is in an ideal, that all node greater than (or less than) that node are also in the ideal.
Up deal
Nodes greater than a given node set. If up deals of any node are always linear, then the PO Set is a hierarchy.
Down deal
Nodes less than a given node set.
Entity
The name of the entity to which this node applies.
Event List
Always includes one event for each of the predefined event types.
Trap List
Always includes one trap for each of the predefined event types.

The owner relation is implemented as an entity po set. An entity owns another iff it is properly above the other. Since an entity is always inserted into the owner po set upon creation and deleted therefrom upon destruction, the corresponding insertion and deletion event actions are performed as part of entity constructon and destruction, respectively.
Trap
Associated with PO set nodes. Components include:
Event Type
The event type that springs the trap.
When
Defines when the trap is sprung. Maybe on event occurrence, on event late, on event early.
Action List
When sprung, each trap triggers one or more actions.
Action
Associated with traps. Components include:
Targets
May be the nodes in the up deal, the down deal, or both. Execution of an action in a node triggers the execution of actions in related nodes, as defined by the action's targets. Thus a node path is established for each action execution.
Body
The procedure that performs the action. The procedure has access to the environment in which it is executed, including the node path and direction.
Notifications
Actions may include the sending of notifications to the owners of an entity.