Multiple Instances and Data Animator
Animating Multiple Instances in BPMN Collaborations: from Formal Semantics to Tool Support
MIDA is freely available here: [TRY IT!!!]
For users convenience we provide a list of BPMN example models that can be ran on MIDA – [.bpmn files are available here].
MIDA source code is available [here]
HOW TO USE MIDA
To access MIDA tool open this link http://pros.unicam.it:8080/Mida/modeler.html. The interface provides a example model for showing the MIDA capabilities.
Anyway, users can design theBPMN models (including data) using the element palette on the left, or load their own model by uploading the .bpmn file already defined. Moreover, additional element informations can be accessed via Property Panel.
Modelling Multiple Instances and Data.
To define multiple instance pool modellers have to double click the desired pool and choose the desired participant multiplicity.
To define multiple instance activities modellers have to click on the element for opening its palette, then click on the wrench and choose one of the activity and fill the filed with an integer value.multiple instance marker. Now open the Property Panel selecting the multiple instance activity and fill the loop cardinality filed with an integer value.
To define data and express conditions modellers can define variables, assign values and compare them using Java Script syntax.
"x = 9;"
"x >= 2"
To specify variables into data objects we use the element documentation tag. It can be accessed via property panel. Here, users can define variables also with an initial value. Each definition has to be separated by semicolon. User can define any kind of variable handled by Js, even data structures like array.
Guards and the assignments can be specified in the same way inside the documentation field of the activity. Them are simulated using an if statement where the condition is a concatenation of guards expressions and the body is the sequence of assignments.
Data can be related to particular instance by using the predefined keyword instance inside data objects or data. This variable represents dynamically the unique identifier of the instance that is performing the operation.