|
BPMN-OS
BPMN for optimization and simulation
|
The state of a token at a typed start event is immediately advanced from ENTERED to BUSY and awaits the trigger. If the token is at a message start event, the message content is used to update the status of the token.
After the start event is triggered, the operators of the respective event-subprocess are applied and the state is advanced to COMPLETED. If the respective event-subprocesses is interrupting, all other tokens within the scope of the event-subprocess are withdrawn. Otherwise, a new token is created allowing the event-subprocess to be triggered again.
After completion, the entry scope restrictions of the BPMN::EventSubProcess are checked. If the restrictions are violated, the state is changed to FAILED. Otherwise, the token state is changed to DEPARTED or DONE.
stateDiagram-v2
state feasibleEntry <<choice>>
state departure <<choice>>
[*] --> ENTERED
ENTERED --> BUSY
BUSY --> COMPLETED: trigger
COMPLETED --> feasibleEntry
feasibleEntry --> departure: [feasible]
feasibleEntry --> FAILED: [infeasible]
departure --> DEPARTED: [outgoing sequence flow]
departure --> DONE: [no outgoing sequence flow]
DEPARTED --> [*]
DONE --> [*]
FAILED --> [*]