Activities
|
||
An activity is work that is performed within a business process. An activity can be atomic or non-atomic (compound). There are two types of activities: sub-process and task. They are represented with rounded rectangles.
Activity is quite similar to the activity and sub-process elements in the default template of QPR ProcessGuide.
Creating and Modifying Activities
Tool Palette of the BPMN template contains tools for creating sub-processes and tasks
. When you have selected the right tool in the Tool Palette, create a new sub-process or task by pointing and clicking the location for it in the flow chart. If you create a sub-process, a new process level is added to the model.
You can edit the properties of activities (such as the attributes listed in the tables below) by right-clicking on the element in the flow chart view and selecting Set Process Step Properties... For further information on this dialog, see topic "Process Step Dialog" in QPR ProcessGuide - User's Guide. Using the pop-up context menu, you can also change directly some of the activity properties, such as hiding or showing the subprocess content in the case of a sub-process, or changing the task type in the case of a task.
Common Activity Attributes
All activities share some common attributes. These common attributes are described in the following table.
Attribute / Attribute group |
Cardinality |
Type |
Description |
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Common Activity Attributes |
|
||||||||||||||||||
Status |
1 |
String |
The status of a process is determined when the process is being executed by a process engine. The status of a process can be used within assignment expressions. The possible options are:
|
||||||||||||||||
Performers |
N |
String |
One or more Performers may be entered. The Performer attribute defines the resource that will perform or will be responsible for the activity. |
||||||||||||||||
Properties |
N |
Property |
Property, which is used in the definition of attributes for a process and common activity attributes. |
||||||||||||||||
InputSets |
N |
Input |
The InputSets attribute defines the data requirements for input to the activity. Each InputSet is sufficient to allow the activity to be performed (if it has first been instantiated by the appropriate signal arriving from an incoming sequence flow). |
||||||||||||||||
OutputSets |
N |
Output |
The OutputSets attribute defines the data requirements for output from the activity. |
||||||||||||||||
IORules |
N |
Expression |
This attribute is an expression that defines the relationship between one InputSet and one OutputSet. |
||||||||||||||||
StartQuantity |
1 |
Integer |
This attribute defines the number of tokens that must arrive from a single sequence flow before the activity can begin. The default value is 1. |
||||||||||||||||
CompletionQuantity |
1 |
Integer |
This attribute defines the number of Tokens that must be generated from the activity. The default value is 1. |
||||||||||||||||
LoopType |
1 |
String |
If the value of this attribute is something else than none, the loop marker is placed at the bottom center of the activity shape. The possible options are:
|
||||||||||||||||
Standard Loop Attributes |
|
||||||||||||||||||
LoopCondition |
1 |
Expression |
Standard loops have a boolean expression to be evaluated, plus the timing when the expression is evaluated. |
||||||||||||||||
LoopCounter |
1 |
Integer |
This attribute is used at runtime to count the number of loops and is automatically updated by the process engine. |
||||||||||||||||
LoopMaximum |
1 |
Integer |
This is an optional attribute that provides is a simple way to add a cap to the number of loops. |
||||||||||||||||
TestTime |
1 |
String |
This attribute defines whether the expressions are evaluated before the activity begins or after the activity finishes. The possible options are:
|
||||||||||||||||
Multi-Instance Loop Attributes |
|
||||||||||||||||||
MI_Condition |
1 |
Expression |
MultiInstance loops have a numeric expression to be evaluated. |
||||||||||||||||
LoopCounter |
1 |
Integer |
This attribute is used at runtime to count the number of loops and is automatically updated by the process engine. |
||||||||||||||||
MI_Ordering |
1 |
String |
This attribute defines whether the loop instances will be performed sequentially or in parallel. The possible options are:
|
||||||||||||||||
Parallel MI_Ordering Attributes |
|
||||||||||||||||||
MI_FlowCondition |
1 |
String |
This attribute is equivalent to using a gateway to control the flow past a set of parallel paths. The possible options are:
|
||||||||||||||||
ComplexMI_FlowCondition Attributes |
|
||||||||||||||||||
ComplexMI_FlowCondition |
1 |
Expression |
This attribute determines when and how many Tokens will continue past the activity. |
||||||||||||||||
Compensation |
1 |
String |
This attribute controls the compensation marker for task and sub-process elements. Possible values are: • true (the compensation marker is visible) • false |
Sub-Process
A Sub-Process is a compound activity in that it has detail that is defined as a flow of other activities. A sub-process is a graphical object within a process flow, but it also can be “opened up” to show another process (either embedded or independent).
The sub-process can be in a collapsed view that hides its details or a sub-process can be in an expanded view that shows its details within the view of the process in which it is contained. In the collapsed form, there is a “plus” sign in the lower-center of the shape indicating that the activity is a sub-
process and has a lower-level of detail. For further information on showing or hiding sub-process contents, see topic "Use Pop-up Menus to Modify Elements in Flow Chart" in QPR ProcessGuide - User's Guide.
BPMN specifies five types of standard markers for sub-processes. The collapsed sub-process marker can be combined with four other markers: a loop marker or a parallel marker, a compensation marker, and an ad hoc marker. A collapsed sub-process may have one to three of these other markers, in all combinations except that loop and multiple instance cannot be shown at the same time. In QPR ProcessGuide sub-process markers are implemented with attribute set enumerated BPMN attribute symbols to the BPMN template.
A sub-process, either collapsed or expanded, can be set to be a transaction, which will have a special behavior that is controlled through a transaction protocol (such as BTP or WSTransaction). The boundary of the activity will be double-lined to indicate that it is a transaction, as illustrated in the following figure.
In QPR ProcessGuide, there are the following three sub-process element types in the BPMN template:
• | Embedded sub-processes: Modeling is done inside the sub-process container. |
• | Independent sub-processes: Sub-process modeling can be done in the sub-process level. |
• | Reference sub-processes: Reference is made to external processes. |
The attributes for a sub-process are described in the following table.
Attribute / Attribute group |
Cardinality |
Type |
Description |
||||||
---|---|---|---|---|---|---|---|---|---|
SubProcessType |
1 |
String |
This attribute defines whether the sub-process details are embedded within the higher level Process or refers to another, re-usable process. The possible options are:
|
||||||
IsATransaction |
1 |
Boolean |
This attribute determines whether or not the behavior of the sub-process will follow the behavior of a transaction. |
||||||
Transaction Attributes |
|
|
|||||||
Transaction |
1 |
Attribute set |
|
||||||
TransactionId |
1 |
String |
This attribute provides an identifier for the transactions used within a diagram. |
||||||
TransactionProtocol |
1 |
String |
This attribute identifies the protocol (e.g., WS-Transaction or BTP) that will be used to control the transactional behavior of the sub-process. |
||||||
TransactionMethod |
1 |
String |
This attribute defines the technique that will be used to undo a transaction that has been cancelled. The possible options are:
|
||||||
Embedded Sub-Process Attributes |
|||||||||
AdHoc |
1 |
Boolean |
Specifies whether the embedded sub-process is ad hoc or not. The default value is false. |
||||||
AdHoc Attributes |
|||||||||
AdHocOrdering |
1 |
String |
Defines if the activities within the process can be performed in parallel or must be performed sequentially. The default setting is parallel and the setting of sequential is a restriction on the performance that may be required due to shared resources. |
||||||
AdHocCompletionCondition |
1 |
Expression |
This attribute defines the conditions when the process will end. |
||||||
Reusable Sub-Process Attributes |
|||||||||
DiagramRef |
1 |
String |
This attribute defines the business process diagram e.g. the model name and path from ProcessGuide server. |
||||||
ProcessRef |
1 |
String |
This attribute defines the reference to process. |
||||||
InputMaps |
N |
Expression |
Multiple input mappings may be made between properties of the independent sub-process and the properties of the process referenced by this object. These mappings are in the form of an expression. |
||||||
OutputMaps |
N |
Expression |
Multiple output mappings may be made between properties of the independent sub-process and the properties of the process referenced by this object. These mappings are in the form of an expression. |
||||||
Reference Sub-Process Attributes |
|||||||||
SubProcessRef |
1 |
ProcessStep |
Identifies the sub-process being referenced. A dialog is opened for selecting the model element. |
Task
A Task is an atomic activity that is included within a process. A task is used when the work in the process is not broken down to a finer level of process model detail. Generally, an end-user and/or an application are used to perform the task when it is executed.
BPMN specifies three types of markers for a task: a loop marker or a multiple instance marker and a compensation marker. A task may have one or two of these markers. In QPR ProcessGuide task markers are implemented with attribute set enumerated BPMN attribute symbols to the BPMN template.
The attributes for a task are described in the following table.
Attribute / Attribute group |
Cardinality |
Type |
Description |
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TaskType |
1 |
String |
The type of task. The possible options are:
|
||||||||||||||||
Service Task Attributes |
|||||||||||||||||||
InMessageRef |
1 |
MessageRef |
A Message for the InMessageRef attribute must be entered. This indicates that the Message will be received at the start of the Task, after the availability of any defined InputSets. In QPR ProcessGuide separate elements are used as messages. MessageRef type is a relation attribute to Message element. A dialog is opened for selecting the message element. |
||||||||||||||||
OutMessageRef |
1 |
MessageRef |
A Message for the OutMessageRef attribute must be entered. The sending of this message marks the completion of the Task, which may cause the production of an OutputSet. In QPR ProcessGuide separate elements are used as messages. MessageRef type is a relation attribute to Message element. A dialog is opened for selecting the message element. |
||||||||||||||||
Implementation |
1 |
String |
This attribute specifies the technology that will be used to receive the message. The possible options are:
|
||||||||||||||||
Receive Task Attributes |
|||||||||||||||||||
MessageRef |
1 |
MessageRef |
A Message for the MessageRef attribute must be entered. This indicates that the Message will be received by the Task. The Message in this context is equivalent to an in-only message pattern (Web service). In QPR ProcessGuide separate elements are used as messages. MessageRef type is a relation attribute to Message element. A dialog is opened for selecting the message element. |
||||||||||||||||
Instantiate |
1 |
Boolean |
Receive tasks can be defined as the instantiation mechanism for the process with the Instantiate attribute. The possible options are:
|
||||||||||||||||
Implementation |
1 |
String |
This attribute specifies the technology that will be used to receive the message. The possible options are:
|
||||||||||||||||
Send Task Attributes |
|||||||||||||||||||
MessageRef |
1 |
MessageRef |
A Message for the MessageRef attribute MUST be entered. This indicates that the Message will be sent by the Task. The Message in this context is equivalent to an out-only message pattern (Web service). In QPR ProcessGuide separate elements are used as messages. MessageRef type is a relation attribute to Message element. A dialog is opened for selecting the message element. |
||||||||||||||||
Implementation |
1 |
String |
This attribute specifies the technology that will be used to receive the message. The possible options are:
|
||||||||||||||||
User Task Attributes |
|||||||||||||||||||
InMessageRef |
1 |
MessageRef |
A Message for the InMessageRef attribute must be entered. This indicates that the Message will be received at the start of the Task, after the availability of any defined InputSets. In QPR ProcessGuide separate elements are used as messages. MessageRef type is a relation attribute to Message element. A dialog is opened for selecting the message element. |
||||||||||||||||
OutMessageRef |
1 |
MessageRef |
A Message for the OutMessageRef attribute must be entered. The sending of this message marks the completion of the Task, which may cause the production of an OutputSet. In QPR ProcessGuide separate elements are used as messages. MessageRef type is a relation attribute to Message element. A dialog is opened for selecting the message element. |
||||||||||||||||
Implementation |
1 |
String |
This attribute specifies the technology that will be used to receive the message. The possible options are:
|
||||||||||||||||
Script Task Attributes |
|||||||||||||||||||
Script |
1 |
String |
This attribute defines a script that can be run when the task is performed. If a script is not included, then the task will act equivalent to a task type of None. |
||||||||||||||||
Manual Task Attributes |
|||||||||||||||||||
|
There are no specific attributes for manual task. |
||||||||||||||||||
Reference Task Attributes |
|||||||||||||||||||
TaskRef |
1 |
Task |
This attribute defines the task being referenced. A dialog is opened for selecting the model element. |