Skip to content

EventArrivalRate Plugin

LuisePufahl edited this page Mar 22, 2018 · 1 revision

XML Tag Name

catchEvent (might change in future)

Short description

Some BPMN Intermediate Events (especially incoming) might keep their processes waiting for them. This plugin allows to define arrival times for intermediate BPMN Events inside the simulation configuration. Similar to the start arrival rate, an element containing an arrival rate element must be defined inside the simulation configuration to achieve this.

Dependencies to other plugins

None

Collaborations

This plugin can be used in combination with the Event Based Gateway Plugin.

Detailed description

There should only be one definition of this plugin per BPMN Event. A definition is in Form:

    <bsim:catchEvent id=[Id of BPMN Event as String]>
      <bsim:arrivalRate timeUnit=[String representation of a java TimeUnit]>
        [Distribution Element]
      </bsim:arrivalRate>
    </bsim:catchEvent>

Definitions are all parsed together by EventArrivalRateSCParserPlugin.class and stored as HashMap of node id to arrival rate as extension attribute with key defined in the PluginUtils. This extension attribute is later taken by EventArrivalRateDistributionConversionPlugin.class and all stored arrival rates are parsed to DesmoJ distributions. A HashMap from node id to pair of distribution and time unit is then stored in distribution extension. When the BPMN would normally be scheduled (usually when its source flow is active), EventArrivalRateSchedulingPlugin.class delays it's scheduling time by a sample of the distribution stored at the according node id.