BPMN shapeBPMN description

A Start Event indicates the entry point of a business process. It is the point from which a business process instance will be created. A process might have several start events.
The End Event indicates where and how a process flow will end. When a process execution point reaches an end event it has nothing else to do. Note however that other execution points might still be active and will not be affected. When all execution points have reached an end, the business process instance is completed and will be destroyed.

UML representationUML description

This process of invoking a business process instance is mapped to two state machines.

Root State Machine
The first (root) state machine invokes the process state machine.
UML entry points define where a state engine might be entered but not when it is created. This is defined by the initial state. Thus, for each imported top level state engine - i.e. a state engine not being called by another process - we need a wrapper state engine having one initial state. This initial state is entered whenever an object of the persistent state class is being created.
After creating the object, the root state machine waits until a Time or Signal Event drives it into the first entry state corresponding to the imported BPMN start event.
The Root state engine will call an end event handler (an overridable operation) for each end event occurring.

 

The overridable operation consists of an activity containing a simple logging to the bridgeserver log that can be changed or extended as needed.

 

Additionally, the imported module contains an onBegin() and a onEnd() operation, which are called on each start of a task respectively on each task end.
As they are located in the imported module (which is read-only), they have to be overwritten, if they are to be amended.

Process State Machine
The second state machine corresponds to the effective process.
All start events are mapped to UML entry points. The event type has no formal meaning yet.
All end events are mapped to exit points. The event type has no formal meaning yet. The modeler can take it as a hint how to handle the end event in the Root state machine.
  • No labels