Skip to content

Loop and multi-instance support #227

@rajgoel

Description

@rajgoel

Is your feature request related to a problem? Please describe.

Loop and multi-instance activitiy markers currently have no effect in the token simulation and only one token passes through the activity. For tasks, this behaviour is reasonable, because the token can be interpreted as "the task is busy". For (expanded) subprocesses, however, loop and multi-instance markers imply that the elements within the subprocess are traversed multiple times and possibly along different paths.

Describe the solution you'd like

Loop activities

For loop activities, it would be possible to add a "loop"-toggle to each end event of the the loop activity. Whenever the last token within the subprocess reaches an end event with an activated loop toggle, the token proceeds with the start event again.

Image

Multi-instance activities

For (sequential and parallel) multi-instance activities, it would be possible to add a "plus"-toggle to the subprocess. This can only be used if the "pause"-toggle is activated to hold the token before entering the subprocess. By pushing the "plus"-toggle, multiple tokens representing the different instances could be created. When the "play"-toggle is clicked, all tokens enter the start event. For sequential multi-instance activities, only the first is allowed to proceed, and the others have to wait until the instance is completed (and so on for the next).

Image

Describe alternatives you've considered

For (sequential and parallel) multi-instance activities, it could also be an idea of adding the "plus"-toggle to the start event.
Alternatively, there could be "plus" and "minus" toggles and a label indicating the number of instance to be executed. This would not require the user to use the "pause"-toggle.

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogQueued in backlogbpmn supportFlags missing or to be extended BPMN supportenhancementNew feature or requestpr welcomeWe rely on a community contribution to improve this.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions