For example, a specific kind of transport such as an aircraft would be derived from the transport class. All actions are performed by decision-making agents. Although not listed explicitly, there will be accessor methods defined for each attribute of each entity. Accessor methods will be used to set, get, or manipulate an attribute's data structure. These, along with any public method, can also be treated as actions.
All public actions have an associated time delay.
These may be defined in extra attributes, built into the methods for executing the actions, or specified by the agent executing the action. The purpose of the discrete event simulator is to provide an environment within which the interactions of multiple agents can be analyzed and displayed graphically for domains of problems of interest to the CoABS group. At each time step of the simulator's clock, each connected agent is polled for commands and message delivery. Because different actions have different execution time specifications, the state of an object in the environment may be updated at a later time step as a result of the effect of an action. For simplicity, the intermediate effects of an action will be updated at the start of the action, and effects will be realized at the end of the action's execution.