In a discrete-event simulation, an event is an instantaneous discrete incident that changes a state variable, an output, and/or the occurrence of other events. Examples of events that can occur during simulation of a SimEvents® model are:
The advancement of an entity from one block to another.
The completion of service on an entity in a server.
A zero crossing of a signal connected to a block that you configure to react to zero crossings. These events are also called trigger edges.
A function call, which is a discrete invocation request carried from block to block by a special signal called a function-call signal.
For a full list of supported events and more details on them, see Events in SimEvents Models.
Events in a simulation can depend on each other:
One event can be the sole cause of another event. For example, the arrival of the first entity in a queue causes the queue length to change from 0 to 1.
One event can enable another event to occur, but only under certain conditions. For example, the completion of service on an entity makes the entity ready to depart from the server. However, the departure occurs only if the subsequent block is able to accept the arrival of that entity. In this case, one event makes another event possible, but does not solely cause it.
Events that occur at the same value of the simulation clock are called simultaneous events, even if the application processes sequentially. When simultaneous events are not causally related to each other, the processing sequence can significantly affect the simulation behavior. For an example, see Choose Values for Event Priorities. For more details, see Processing Sequence for Simultaneous Events.