The process model comprises all processes within a model: the process is a container element for Goal or BPMN process workflows and is always part of a module. Just like a Module, a Process represents a namespace which, on runtime, results in a local process context and a process instance.
A process can contain other elements that create further nested namespaces and therefore result in further local contexts in the process instance context, such as, Sub-Process contexts.
Depending on the requirements, a process can be
When a model is instantiated it instantiates its process model: it attempts to create instances of each process in the process model including processes in module imports. For each process it firs checks whether the process is executable and whether it can be instantiated automatically. If the Process is not executable, no instance is created. If it is executable, instantiation takes place:
Process Attributes
The Goal-based process is a process that defines its logic in a goal hierarchy. On execution, after the parent model instance becomes running and one process instance based on the process is created, the goal hierarchy is activated:
The BPMN-based process is a process that encapsulates a BPMN workflow.
It is instantiated when the parent model instance is instantiated, and that possibly multiple times by different start events. It also can be used as a Reusable Process and be instantiated as a sub-process instances.
When a BPMN-based process is instantiated, the following happens:
A BPMN-based Process defines the following specific properties:
Any BPMN-based process that starts with a None Start Event can be reused by another process by the means of the reusable subprocess activity. The activity defines the referenced process and is used in a workflow just like any other activity. However, on runtime, the entire workflow of the referenced process is executed providing a convenient mechanism for reuse of the existing workflow.
When a BPMN-based process is used exclusive as a reusable sub-process, it can be parametric.