What Is an Event?

Overview of Events

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.

Relationships Among Events

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.

Viewing Events

Events do not have a graphical representation. You can infer their occurrence by observing their consequences, by using the Instantaneous Event Counting Scope block, or by using the debugger. For details, see Observe Events, Simulation Log in the Debugger, or View the Event Calendar .

Was this topic helpful?