-
Notifications
You must be signed in to change notification settings - Fork 9
EventArrivalRate Plugin
catchEvent
(might change in future)
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.
None
This plugin can be used in combination with the Event Based Gateway Plugin.
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.