Skip to content

Plugin Concept

LeonBein edited this page Nov 29, 2019 · 5 revisions

Several abstract classes are defined as entry points for developers to write plug-ins. In the following figure, they are categorized into the different stages of simulation: parsing, initialization, execution, and reporting.

The ParserPluggable offers an entry point to the input parsers, such that new simulation input, e.g., a new BPMN element, can be parsed. During initialization of the DES simulation model, the DESMO-J distribution for the arrival rate and activity distributions are set. The entry point DistributionConversionPluggable allows the initialization of additional distributions. While executing a simulation experiment, events are generated, stored in queues, and if an event occurs, their event routines are executed which usually results in new events. Different entry points are available to influence DES events: EventCreationPluggable to generate new type of events, EventSchedulingPluggable to influence the scheduling of events, and EventOrderTypePluggable to adapt the priorities of events and changing their order in the queues. For influencing the implemented BPMN behavior of the simulator, two entry points exist: one on the process instance level – ProcessInstanceGenerationEventPluggable– and one on the BPMN events level – BPMNConstructsPluggable. The latter ones include several sub-classes to influence the behavior of the minimum set of BPMN elements supported by the basic simulator, for instance, BPMNStartEventPluggable, TaskEnableEventPluggable. The ExternalEventPluggable offers the opportunity to add behavior which is not strictly related to a single process instance, but to the general behavior of business process simulation.

Existing Plugins: