Events

In the following we will describe the events' simulation properties.

Linking Events to Each Other

To simulate BPMN 2.0 models, we need to know, which sending event(s) trigger(s) which receiving event(s). To accomplish this, we need to give events that shall be linked to each other the same name.

Approach

Imagine you create a model that contains two intermediate sending message events and two intermediate receiving message events. Then there are two possible ways, to identify associated (or linked) events:

  1. You connect the events via message flows.

    1. (This is not possible for other event types, therefore we also offer a second option, see below)

  2. You do not want to add anymore flows to your model, because they would reduce your model’s clarity.

    1. Therefore we offer you the possibility, to avoid using message flows between sending and receiving message events by simply giving them the same name.

Limitations

There are some limitations to this concept:

  • Pay attention to the events' relations. E. g. one sending message event can trigger only one receiving message event, 1:1 relation. But one sending signal event can trigger more than just one receiving signal event, 1:n relation.

  • Receiving events without a label (name) will catch all triggered sending events of the same type depending on the relations (see bulleting above).

  • If the model contains one receiving and one sending event of the same type, it will link these two events to each other.

  • It is possible to model n:1 relations (always depending on the BPMN 2.0 Specification’s constraints. E. g. one receiving message event can be triggered by n sending message events).

Start Events

A process is started by a start event, which can be either general or depending on time or on other facts (receiving a message, signal etc.). Since the latter cases always involve sending events, we only need to add simulation properties to the general and to the timer start event.

To start the process we need to add some information. We can either select one of the

Contrary to the conceptual idea of the message receiving start event, we allow you to specify an inter-arrival time to represent the duration until the message receipt. This is occasionally necessary, e. g. if you do not want to model a black box pool, which sends the messages to this specific start event, and which solely exists to start this event.

Simulation Properties of the General and the Timer Start Event

Optional Simulation Properties

Inter-arrival Time

Select a stochastic distribution (which represents your process' inter-arrival time) or use Calandar based or Script based Event Triggers to set up the inter-arrival times.

Simulation Properties of the Message receiving Start Event

Optional Simulation Properties

Stochastic Event Trigger

Check this box, if you want to specify a distribution for a time span which will then represent the delay of the message receipt.

Must-Have Simulation Properties

Duration until Message Receipt

This property will become obligatory after checking the Stochastic Event Trigger check-box. Here you can specify a distribution, which will then represent the duration until the message will be received.

Intermediate Events

Events generally do not possess any simulation properties. All of them use the inherent information based on the BPMN 2.0 specification.

However there are exceptions:

  • Timer intermediate event: It basically does the same job as the general / timer start event. The only difference is that it can be placed "in" the flow or it can be attached to an activity.

  • Message receiving intermediate event: In some occasions you will simply want to create a model, which uses the conceptual idea of a message receiving event, but which does not necessarily have a respective sender event in another pool. Therefore we offer you the possibility to specify an optional duration to represent the time consumption until the message receipt usually occurs.

  • Conditional intermediate event: This type of event is triggered when a condition is met. Therefore, such a condition must be added as a simulation property. The event can be placed "in" the flow or attached to an activity.

If you do not specify one of the below properties, the simulation will execute the event immediately when reaching the activity.

Simulation Properties of the Timer Intermediate Event

Optional Simulation Properties

Inter-arrival time

Specify a distribution (for a time span), a recurrent time instant or a script to represent this event’s trigger delay. This approach is equivalent to the stochastic time operations at Start Events. See Model 12 - Scripted Delay from the Simulation Tutorial for an example.

Simulation Properties of the Message receiving Intermediate Event

Optional Simulation Properties

Stochastic Event Trigger

Check this box, if you want to specify a distribution for a time span which will then represent the delay of the message receipt.

Must-Have Simulation Properties

Duration until Message Receipt

This property will become obligatory after checking the "Stochastic Event Trigger" check-box. Here you can specify a distribution, which will then represent the duration until the message will be received.

Simulation Properties of the Conditional Intermediate Event

Optional Simulation Properties

Condition

Specify a condition for when this event should trigger.

End Events

End events do not contain any simulation properties. They are used to terminate a process and to trigger start events if they are linked to those.

The number of occurrences of end events is counted and provided in simulation results.