Appendix B: BPMN Element Attributes and Types
This appendix provides the complete set of BPMN Element Attributes and the definition of types that support the Attributes. All the tables in this appendix also appear in Chapters 3, 4, and 5.
The following table displays the set of attributes of a Business Process Diagram:
This is a unique Id that distinguishes the Diagram from other Diagrams. |
|
Name is an attribute that is text description of the Diagram. |
|
This holds the name of the language in which text is written. The default is English. |
|
A Language MAY be provided so that the syntax of expressions used in the Diagram can be understood. |
|
A Language MAY be provided so that the syntax of queries used in the Diagram can be understood. |
|
This defines the date on which the Diagram was create (for this Version). |
|
This defines the date on which the Diagram was last modified (for this Version). |
|
A BPD SHALL contain one or more Pools. The boundary of one of the Pools MAY be invisible (especially if there is only one Pool in the Diagram). Refer to the See Pool. for more information about Pools. |
|
The modeler MAY add optional text documentation about the Diagram. |
The following table displays the set of attributes of a Process:
This is a unique Id that identifies the object from other objects within the Diagram. |
|
Name is an attribute that is text description of the object. |
|
ProcessType (None | Private | Abstract | Collaboration) None : String |
ProcessType is an attribute that provides information about which lower-level language the Pool will be mapped.By default, the ProcessType is None (or undefined). A Private ProcessType MAY be mapped to an executable BPEL4WS process. An Abstract ProcessType is also called the public interface of a process (or other web services) and MAY be mapped to an abstract BPEL4WS process. A Collaboration ProcessType is also considered a "global" process and MAY be mapped to languages such as ebXML or WS Choreography. However, these mappings are not provided in this version of the specification. If the Process is to be used to create a BPEL4WS document, then the attribute MUST be set to Executable or Abstract. |
Status (None | Ready | Active | Cancelled | Aborting | Aborted | Completing | Completed) None : 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 GraphicalElements attribute identifies all of the objects (e.g., Events, Activities, Gateways, and Artifacts) that are contained within the Process. |
|
One or more assignment expressions MAY be made for the object. The Assignment SHALL be performed as defined by the AssignTime attribute (see below). The details of Assignment is defined in the See Assignment.. |
|
Modeler-defined Properties MAY be added to a Process. These Properties are "local" to the Process. All Tasks, Sub-Process objects, and Sub-Processes that are embedded SHALL have access to these Properties. The fully delineated name of these properties is "<process name>.<property name>" (e.g., "Add Customer.Customer Name"). If a process is embedded within another Process, then the fully delineated name SHALL also be preceded by the Parent Process name for as many Parents there are until the top level Process. Further details about the definition of a Property can be found in the See Property.. |
|
AdHoc is a boolean attribute, which has a default of False. This specifies whether the Process is Ad Hoc or not. The activities within an Ad Hoc Process are not controlled or sequenced in a particular order, their performance is determined by the performers of the activities. If set to True, then the Ad Hoc marker SHALL be placed at the bottom center of the Process or the Sub-Process shape for Ad Hoc Processes. |
|
AdHocOrdering (0-1) (Sequential | Parallel) Parallel : String |
If the Process is Ad Hoc (the AdHoc attribute is True), then the AdHocOrdering attribute MUST be included. This attribute 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. |
If the Process is Ad Hoc (the AdHoc attribute is True), then the AdHocCompletionCondition attribute MUST be included. This attribute defines the conditions when the Process will end. |
|
This attribute is included for mapping to BPEL4WS. This specifies whether or not a BPEL4WS joinFailure fault will be suppressed for all activities in the BPEL4WS process. |
|
This attribute is included for mapping to BPEL4WS. It specifies whether or not a compensation can be performed after the Process has completed normally. |
|
The modeler MAY add one or more defined Categories that can be used for purposes such as reporting and analysis. |
|
The following table displays a set of common attributes for BPMN graphical objects (Flow Objects, Swimlanes, Artifacts, and Connecting Objects):
This is a unique Id that identifies the object from other objects within the Diagram. |
|
The modeler MAY add one or more defined Categories that can be used for purposes such as reporting and analysis. |
|
The following table displays the set of attributes common to BPMN Flow Objects (Events, Activities, and Gateways), and which extends the set of common graphical object attributes (see See Common Graphical Object Attributes.):
Name is an attribute that is text description of the object. |
|
One or more assignment expressions MAY be made for the object. For activities, the Assignment SHALL be performed as defined by the AssignTime attribute. The Details of the Assignment is defined in the See Assignment.. |
|
A Pool MUST be identified for the object to identify its location.The attributes of a Pool can be found See Pool.. |
|
If the Pool has more than one Lane, then the Id of at least one Lane MUST be added. There MAY be multiple Lanes listed if the Lanes are organized in matrix or overlap in a non-nested manner, The attributes of a Lane can be found in the See Lane.. |
The following table displays the set of attributes common to the three types of Events, and which extends the set of common Flow Object attributes (see See Common Flow Object Attributes.):
The following table displays the set of attributes of a Start Event, which extends the set of common Event elements (see See Common Event Attributes.):
Trigger (None | Message | Timer | Rule | Link | Multiple) None : String |
Trigger is an attribute (default None) that defines the type of trigger expected for that Start. The next six rows define the attributes that are required for each of the Trigger types. The Trigger list MAY be extended to include new types. These new Triggers MAY have a new modeler- or tool-defined Marker to fit within the boundaries of the Event. |
If the Trigger is a Message, then the a Message MUST be supplied. The attributes of a Message can be found in the See Message.. |
|
Implementation (Web Service | Other | Unspecified) Web Service : String |
This attribute specifies the technology that will be used to receive the message. A Web service is the default technology. |
If the Trigger is a Timer, then a TimeDate MAY be entered. If a TimeDate is not entered, then a TimeCycle MUST be entered (see the attribute below). |
|
If the Trigger is a Timer, then a TimeCycle MAY be entered. If a TimeCycle is not entered, then a TimeDate MUST be entered (see the attribute above). |
|
If the Trigger is a Rule, then a Rule MUST be entered. The attributes of a Rule can be found in the See Rule.. |
|
If the Trigger is a Link, then the ProcessRef MUST be entered. The identified Process MAY be the same Process as that of the Link Event. |
|
If the Trigger attribute is a Multiple, then a list of two or more Triggers MUST be provided. Each Trigger MUST have the appropriate data (as defined above). The Trigger MUST NOT be of type None or Multiple. |
The following table displays the set of attributes of a End Event, which extends the set of common Event elements (see See Common Event Attributes.):
Result (None | Message | Error | Cancel | Compensation | Link | Terminate | Multiple) None : String |
Result is an attribute (default None) that defines the type of result expected for that End. The Cancel Result MUST NOT be used unless the Event is used within a Process that is a Transaction. The Result list MAY be extended to include new types. These new Results MAY have a new modeler- or tool-defined Marker to fit within the boundaries of the Event. |
If the Result is a Message, then the Message MUST be supplied. The attributes of a Message can be found in the See Message.. |
|
Implementation (Web Service | Other | Unspecified) Web Service : String |
This attribute specifies the technology that will be used to send the message. A Web service is the default technology. |
If the Result is an Error, then the ErrorCode MUST be supplied. |
|
If the Result is a Compensation, then the Object of the Activity that needs to be compensated MUST be supplied. |
|
If the Result is a Link, then the ProcessRef MUST be entered. The identified Process MAY be the same Process as that of the Link Event. |
|
If the Result attributes is a Multiple, then a list of two or more Results MUST be entered. Each Result on the list MUST have the appropriate data as specified for the above attributes. The Result MUST NOT be of type None, Terminate, or Multiple. |
The following table displays the set of attributes of an Intermediate Event, which extends the set of common Event elements (see See Common Event Attributes.):
Trigger (None | Message | Timer | Error | Cancel | Link | Compensation | Rule | Multiple) Message : String |
Trigger is an attribute (default Message) that defines the type of trigger expected for that Intermediate Event. The None and Link Trigger MUST NOT be used when the Event is attached to the boundary of an Activity. The Multiple, Rule, and Cancel Triggers MUST NOT be used when the Event is part of the Normal Flow of the Process. The Cancel Trigger MUST NOT be used when the Event is attached to the boundary of an Activity that is not a Transaction or if the Event is not contained within a Process that is a Transaction. The Trigger list MAY be extended to include new types. These new Triggers MAY have a new modeler- or tool-defined Marker to fit within the boundaries of the Event. |
A Target MAY be included for the Intermediate Event. The Target MUST be an activity (Sub-Process or Task). This means that the Intermediate Event is attached to the boundary of the activity and is used to signify an exception or compensation for that activity. |
|
If the Trigger is a Message, then the Message MUST be supplied. The attributes of a Message can be found in the See Message.. |
|
Implementation (Web Service | Other | Unspecified) Web Service : String |
This attribute specifies the technology that will be used to send or receive the message. A Web service is the default technology. |
If the Trigger is a Timer, then a TimeDate MAY be entered. If a TimeDate is not entered, then a TimeCycle MUST be entered (see the attribute below). |
|
If the Trigger is a Timer, then a TimeCycle MAY be entered. If a TimeCycle is not entered, then a TimeDate MUST be entered (see the attribute above). |
|
For an Intermediate Event within Normal Flow: If the Trigger is an Error, then the error code MUST be entered. This "throws" the error. For an Intermediate Event attached to the boundary of an Activity: If the Trigger is an Error, then the error code MAY be entered. This "catches" the error. If there is no error code, then any Error SHALL trigger the Event. If there is an error code, then only an Error that matches the error code SHALL trigger the Event. |
|
For an Intermediate Event within Normal Flow: If the Trigger is a Compensation, then the Object of the Activity that needs to be compensated MUST be supplied. This "throws" the compensation. For an Intermediate Event attached to the boundary of an Activity: This Event "catches" the compensation. No further information is required. The Object of the activity the Event is attached to will provide the Id necessary to match the compensation event with the event that "threw" the compensation. |
|
If the Trigger is a Rule, then a Rule MUST be entered. The attributes of a Rule can be found in the See Rule.. |
|
If the Trigger is a Link, then the ProcessRef MUST be entered. The identified Process MAY be the same Process as that of the Link Event. |
|
If the Trigger attribute is a Multiple, then each Trigger on the list MUST have the appropriate data as specified for the above attributes. The Trigger MUST NOT be of type None or Multiple. |
The following table displays the set of attributes common to both a Sub-Process and a Task, and which extends the set of common Flow Object attributes (see See Common Flow Object Attributes.) -- Note that See Standard Loop Activity Attributes. and See Multi-Instance Loop Activity Attributes. contain additional attributes that must be included within this set if extended by any other attribute table:
Status (None | Ready | Active | Cancelled | Aborting | Aborted | Completing | Completed) None : String |
The Status of an activity is determined when the activity is being executed by a process engine. The Status of an activity can be used within Assignment Expressions. |
Modeler-defined Properties MAY be added to an activity. These Properties are "local" to the activity object. These Properties are only for use within the processing of the activity. The fully delineated name of these properties are "<process name>.<sub-process name>.<property name>" (e.g., "Add Customer.Review Credit.Status"). Further details about the definition of a Property can be found in the See Property.. |
|
The InputSets attribute defines the data requirements for input to the activity. Zero or more InputSets MAY be defined. Each Input set 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). |
|
One or More Inputs MUST be defined for each InputSet. An Input is an Artifact, usually a Document Object. Note that the Artifacts MAY also be displayed on the diagram and MAY be connected to the activity through an Association--however, it is not required for them to be displayed. |
|
The OutputSets attribute defines the data requirements for output from the activity. Zero or more OutputSets MAY be defined. At the completion of the activity, only one of the OutputSets may be produced--It is up to the implementation of the activity to determine which set will be produced. However, the IORules attribute MAY indicate a relationship between an OutputSet and an InputSet that started the activity. |
|
One or more Outputs MUST be defined for each OutputSet. An Output is an Artifact, usually a Document Object. Note that the Artifacts MAY also be displayed on the diagram and MAY be connected to the activity through an Association--however, it is not required for them to be displayed. |
|
The IORules attribute is an expression that defines the relationship between one InputSet and one OuputSet. That is, if the activity is instantiated with a specified InputSet, then the output of the activity MUST produce the specified OutputSet. Zero or more IORules may be entered. |
|
The default value is 1. The value MUST NOT be less than 1. This attribute defines the number of Tokens that must arrive from a single Sequence Flow before the activity can begin. |
|
LoopType is an attribute and is by default None, but MAY be set to Standard or MultiInstance. If so, the Loop marker SHALL be placed at the bottom center of the activity shape (see See Collapsed Sub-Process Markers. and See Task Markers.). A Task of type Receive that has its Instantiate attribute set to True MUST NOT have a Standard or MultiInstance LoopType. |
The following are additional attributes of a Standard Loop Activity (where the LoopType attribute is set to "Standard"), which extends the set of common activity attributes (see See Common Activity Attributes.):
Standard Loops MUST have a boolean Expression to be evaluated, plus the timing when the expression SHALL be evaluated. The attributes of an Expression can be found in the See Expression.. |
|
The LoopCounter attribute is used at runtime to count the number of loops and is automatically updated by the process engine. The LoopCounter attribute MUST be incremented at the start of a loop. The modeler may use the attribute in the LoopCondition Expression. |
|
The Maximum an optional attribute that provides is a simple way to add a cap to the number of loops. This SHALL be added to the Expression defined in the LoopCondition. |
|
The expressions that are evaluated Before the activity begins are equivalent to a programming while function. The expression that are evaluated After the activity finishes are equivalent to a programming until function. |
The following are additional attributes of a Multi-Instance Loop Activity (where the LoopType attribute is set to "MultiInstance"), which extends the set of common activity attributes (see See Common Activity Attributes.):
MultiInstance Loops MUST have a numeric Expression to be evaluated--the Expression MUST resolve to an integer. The attributes of an Expression can be found in the See Expression.. |
|
The LoopCounter attribute is only applied for Sequential MultiInstance Loops and for processes that are being executed by a process engine. The attribute is updated at runtime by a process engine to count the number of loops as they occur. The LoopCounter attribute MUST be incremented at the start of a loop. Unlike a Standard loop, the modeler does not use this attribute in the MI_Condition Expression, but it can be used for tracking the status of a loop. |
|
This applies to only MultiInstance Loops. The MI_Ordering attribute defines whether the loop instances will be performed sequentially or in parallel. Sequential MI_Ordering is a more traditional loop. Parallel MI_Ordering is equivalent to multi-instance specifications that other notations, such as UML Activity Diagrams use. If set to Parallel, the Parallel marker SHALL replace the Loop Marker at the bottom center of the activity shape (see See Collapsed Sub-Process Markers. and See Task Markers.). |
|
This attribute is equivalent to using a Gateway to control the flow past a set of parallel paths. An MI_FlowCondition of "None" is the same as uncontrolled flow (no Gateway) and means that all activity instances SHALL generate a token that will continue when that instance is completed. An MI_FlowCondition of "One" is the same as an Exclusive Gateway and means that the Token SHALL continue past the activity after only one of the activity instances has completed. The activity will continue its other instances, but additional Tokens MUST NOT be passed from the activity. An MI_FlowCondition of "All" is the same as a Parallel Gateway and means that the Token SHALL continue past the activity after all of the activity instances have completed. An MI_FlowCondition of "Complex" is the same as a Complex Gateway. The ComplexMI_FlowCondition attribute will determine the Token flow. |
|
If the MI_FlowCondition attribute is set to "Complex," then an Expression Must be entered. This Expression that MAY reference Process data. The expression SHALL determine when and how many Tokens will continue past the activity. The attributes of an Expression can be found in the See Expression.. |
The following table displays the set of attributes of a Sub-Process, which extends the set of common activity attributes (see See Common Activity Attributes.):
SubProcessType (Embedded | Independent | Reference) Embedded : String |
SubProcessType is an attribute that defines whether the Sub-Process details are embedded within the higher level Process or refers to another, re-usable Process. The default is Embedded. |
IsATransaction determines whether or not the behavior of the Sub-Process will follow the behavior of a Transaction (see See Sub-Process Behavior as a Transaction.). |
|
If the Transaction attribute is False, then a Transaction MUST NOT be identified. If the Transaction attribute is True, then a Transaction MUST be identified. The attributes of a Transaction can be found in the See Transaction.. Note that Transactions that are in different Pools and are connected through Message Flow MUST have the same TransactionId. |
The following are additional attributes of a Embedded Sub-Process (where the SubProcessType attribute is set to "Embedded"), which extends the set of Sub-Process attributes (see See Sub-Process Attributes.):
The following are additional attributes of a Independent Sub-Process (where the SubProcessType attribute is set to "Independent"), which extends the set of Sub-Process attributes (see See Sub-Process Attributes.):
The BPD MUST be identified. The attributes of a BPD can be found in the See Business Process Diagram Attributes.. |
|
A Process MUST be identified. The attributes of a Process can be found in the See Processes.. |
|
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 (although a modeling tool can present this to a modeler in any number of ways). |
|
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 (although a modeling tool can present this to a modeler in any number of ways). |
The following table displays the set of attributes of a Reference Sub-Process (where the SubProcessType attribute is set to "Reference"), which extends the set of Sub-Process attributes (see See Sub-Process Attributes.):
The Sub-Process being referenced MUST be identified. The attributes for the Sub-Process element can be found in See Sub-Process Attributes.. |
The following table displays the set of attributes of a Task, which extends the set of common activity object attributes (see See Common Activity Attributes.):
TaskType (Service | Receive | Send | User | Script | Abstract | Manual | Reference | None) None : String |
TaskType is an attribute that has a default of Service, but MAY be set to Send, Receive, User, Script, Abstract, Manual, Reference, or None. The TaskType will be impacted by the Message Flow to and/or from the Task, if Message Flow are used. A TaskType of Receive MUST NOT have an outgoing Message Flow. A TaskType of Send MUST NOT have an incoming Message Flow. A TaskType of Script, Manual, or None MUST NOT have an incoming or an outgoing Message Flow. The TaskType list MAY be extended to include new types. The attributes for specific settings of TaskType can be found in See Service Task Attributes. through See Reference Task Attributes.. |
The following table displays the set of attributes of a Service Task (where the TaskType attribute is set to "Service"), which extends the set of Task attributes (see See Task Attributes.):
The following table displays the set of attributes of a Receive Task (where the TaskType attribute is set to "Receive"), which extends the set of Task attributes (see See Task Attributes.):
The following table displays the set of attributes of a Send Task (where the TaskType attribute is set to "Send"), which extends the set of Task attributes (see See Task Attributes.):
The following table displays the set of attributes of a User Task (where the TaskType attribute is set to "User"), which extends the set of Task attributes (see See Task Attributes.):
The following table displays the set of attributes of a Script Task (where the TaskType attribute is set to "Script"), which extends the set of Task attributes (see See Task Attributes.):
The modeler MAY include 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 TaskType of None. |
The following table displays the set of attributes of a Manual Task (where the TaskType attribute is set to "Manual"), which extends the set of Task attributes (see See Task Attributes.):
The following table displays the set of attributes of a Reference Task (where the TaskType attribute is set to "Reference"), which extends the set of Task attributes (see See Task Attributes.):
The Task being referenced MUST be identified. The attributes for the Task element can be found in See Task Attributes.. |
The following table displays the attributes common to Gateways, and which extends the set of common Flow Object attributes (see See Common Flow Object Attributes.):
GatewayType is by default XOR. The GatewayType MAY be set to OR, Complex, or AND. The GatewayType will determine the behavior of the Gateway, both for incoming and outgoing Sequence Flow, and will determine the internal indicator (as shown in See The Different types of Gateways.). |
The following table displays the attributes for an Data-Based Exclusive Gateway. These attributes only apply if the GatewayType attribute is set to XOR. The following attributes extend the set of common Gateway attributes (see See Common Gateway Attributes.):
XORType is by default Data. The XORType MAY be set to Event. Since Data-Based XOR Gateways is the subject of this section, the attribute MUST be set to Data for the attributes and behavior defined in this section to apply to the Gateway. |
|
This attribute determines if the XOR Marker is displayed in the center of the Gateway diamond (an "X"). The marker is displayed if the attribute is True and it is not displayed if the attribute is False. By default, the marker is not displayed. |
|
There MAY be zero or more Gates. Zero Gates are allowed if the Gateway is last object in a Process flow and there are no Start or End Events for the Process. If there are zero or only one incoming Sequence Flow (i.e, the Gateway is acting as a Decision), then there MUST be at least one Gate. In this case, if there is no DefaultGate, then there MUST be at least two Gates. |
|
Each Gate MUST have an associated Sequence Flow. The Sequence Flow MUST have its Condition attribute set to Expression and MUST have a valid ConditionExpression. The attributes of a Sequence Flow can be found in the See Sequence Flow.. If there is only one Gate (i.e., the Gateway is acting only as a Merge), then Sequence Flow MUST have its Condition set to None. |
|
One or more assignment expressions MAY be made for each Gate. The Assignment SHALL be performed when the Gate is selected. The details of Assignment is defined in the See Assignment.. |
|
If there is a DefaultGate, then it MUST have an associated Sequence Flow. The Sequence Flow SHALL have the Default Indicator. The Sequence Flow MUST have its Condition attribute set to Default. The attributes of a Sequence Flow can be found in the See Sequence Flow.. |
|
One or more assignment expressions MAY be made for the DefaultGate. The Assignment SHALL be performed when the DefaultGate is selected. The details of Assignment is defined in the See Assignment.. |
The following table displays the attributes for an Event-Based Exclusive Gateway. These attributes only apply if the GatewayType attribute is set to XOR. The following attributes extend the set of common Gateway attributes (see See Common Gateway Attributes.):
XORType is by default Data. The XORType MAY be set to Event. Since Event-Based XOR Gateways is the subject of this section, the attribute MUST be set to Event for the attributes and behavior defined in this section to apply to the Gateway. |
|
Event-Based Gateways can be defined as the instantiation mechanism for the Process with the Instantiate attribute. This attribute MAY be set to true if the Gateway is the first element after the Start Event or a starting Gateway if there is no Start Event (i.e., there are no incoming Sequence Flow). |
|
There MUST be two or more Gates. (Note that this type of Gateway does not act only as a Merge--it is always a Decision, at least.) |
|
Each Gate MUST have an associated Sequence Flow. The Sequence Flow MUST have its Condition attribute set to None (there is not an evaluation of a condition expression). The attributes of a Sequence Flow can be found in the See Sequence Flow.. |
|
One or more assignment expressions MAY be made for each Gate. The Assignment SHALL be performed when the Gate is selected. The details of Assignment is defined in the See Assignment.. |
The following table displays the attributes for an Inclusive Gateway. These attributes only apply if the GatewayType attribute is set to OR. The following attributes extend the set of common Gateway attributes (see See Common Gateway Attributes.):
There MAY be zero or more Gates. Zero Gates are allowed if the Gateway is last object in a Process flow and there are no Start or End Events for the Process. If there are zero or only one incoming Sequence Flow (i.e, the Gateway is acting as a Decision), then there MUST be at least two Gates. |
|
Each Gate MUST have an associated Sequence Flow. The Sequence Flow MUST have its Condition attribute set to Expression and MUST have a valid ConditionExpression. The ConditionExpression MUST be unique for all the Gates within the Gateway. The attributes of a Sequence Flow can be found in the See Sequence Flow.. If there is only one Gate (i.e., the Gateway is acting only as a Merge), then Sequence Flow MUST have its Condition attribute set to None. |
|
One or more assignment expressions MAY be made for each Gate. The Assignment SHALL be performed when the Gate is selected. The details of Assignment is defined in the See Assignment.. |
|
If there is a DefaultGate, then it MUST have an associated Sequence Flow. The Sequence Flow SHALL have the Default Indicator. The Sequence Flow MUST have its Condition attribute set to Default. The attributes of a Sequence Flow can be found in the See Sequence Flow.. |
|
One or more assignment expressions MAY be made for the DefaultGate. The Assignment SHALL be performed when the DefaultGate is selected. The details of Assignment is defined in the See Assignment.. |
The following table displays the attributes for a Complex Gateway. These attributes only apply if the GatewayType attribute is set to Complex. The following attributes extend the set of common Gateway attributes (see See Common Gateway Attributes.):
There MAY be zero or more Gates. Zero Gates are allowed if the Gateway is last object in a Process flow and there are no Start or End Events for the Process. If there are zero or only one incoming Sequence Flow, then there MUST be at least two Gates. |
|
Each Gate MUST have an associated Sequence Flow. Each Gate MUST have an associated Sequence Flow. The Sequence Flow MUST have its Condition attribute set to None. The attributes of a Sequence Flow can be found in the See Sequence Flow.. If there is only one Gate (i.e., the Gateway is acting only as a Merge), then Sequence Flow MUST have its Condition attribute set to None. |
|
One or more assignment expressions MAY be made for each Gate. The Assignment SHALL be performed when the Gate is selected. The details of Assignment is defined in the See Assignment.. |
|
If there are Multiple incoming Sequence Flow, an IncomingCondition expression MUST be set by the modeler. This will consist of an expression that can reference Sequence Flow names and or Process Properties (Data). |
|
If there are Multiple outgoing Sequence Flow, an OutgoingCondition expression MUST be set by the modeler. This will consist of an expression that can reference (outgoing) Sequence Flow Ids and or Process Properties (Data). |
The following table displays the attributes for a Parallel Gateway. These attributes only apply if the GatewayType attribute is set to AND (Parallel). The following attributes extend the set of common Gateway attributes (see See Common Gateway Attributes.):
There MAY be zero or more Gates. Zero Gates are allowed if the Gateway is last object in a Process flow and there are no Start or End Events for the Process. If there are zero or only one incoming Sequence Flow (i.e, the Gateway is acting as a fork), then there MUST be at least two Gates. |
|
Each Gate MUST have an associated Sequence Flow. The Sequence Flow MUST have its Condition attribute set to None. The attributes of a Sequence Flow can be found in the See Sequence Flow.. |
|
One or more assignment expressions MAY be made for each Gate. The Assignment SHALL be performed when the Gate is selected. The details of Assignment is defined in the See Assignment.. |
The following table displays a set of common attributes for Swimlanes (Pools and Lanes), and which extends the set of common graphical object attributes (see See Common Graphical Object Attributes.):
The following table displays the identified attributes of a Pool, and which extends the set of common Swimlane attributes (see See Common Swimlane Attributes.):
The Process attribute defines the Process that is contained within the Pool. Each Pool MAY have a Process. The attributes for a Process can be found in the See Process Attributes.. |
|
The Modeler MUST define the Participant for a Pool. The Participant can be either a Role or an Entity. This defines the role that a particular Entity or Role the Pool will play in a Diagram that includes collaboration. The attributes for a Participant can be found in the See Participant.. |
|
There MUST one or more Lanes within a Pool. If there is only one Lane, then that Lane shares the name of the Pool and only the Pool name is displayed. If there is more than one Lane, then each Lane has to have its own name and all names are displayed. The attributes for a Lane can be found in the See Lane.. |
|
This attribute defines if the rectangular boundary for the Pool is visible. Only one Pool in the Diagram MAY have the attribute set to False. |
The following table displays the identified attributes of a Lane, and which extends the set of common Swimlane attributes (see See Common Swimlane Attributes.):
The Parent Pool MUST be specified. There can be only one Parent. The attributes for a Pool can be found in the See Swimlanes (Pools and Lanes).. |
|
ParentLane is an optional attribute that is used if the Lane is nested within another Lane. Nesting can be multi-level, but only the immediate parent is specified. |
The following table displays the identified attributes common to Artifacts, and which extends the set of common graphical object attributes (see See Common Graphical Object Attributes.):
ArtifactType (DataObject | Group | Annotation) DataObject : String |
The ArtifactType MAY be set to DataObject, Group, or Annotation. |
A Pool MAY be added to identify its location. Artifacts, such as Annotations, can be placed outside of any Pool. Also, a Group may stretch across multiple Pools. The attributes for a Pool can be found in the See Pool.. |
|
If the Pool has more than one Lane, then a Lane MUST be added. There MAY be multiple Lanes listed. The attributes for a Lane can be found in the See Lane.. |
The following table displays the attributes for Data Objects, and which extends the set of common Artifact attributes (see See Common Artifact Attributes.). These attributes only apply if the ArtifactType attribute is set to DataObject:
Name is an attribute that is text description of the object. |
|
State is an optional attribute that indicates the impact the Process has had on the Data Object. Multiple Data Objects with the same name MAY share the same state within one Process. |
|
Modeler-defined Properties MAY be added to a Data Object. The fully delineated name of these properties are "<process name>.<task name>.<property name>" (e.g., "Add Customer.Review Credit Report.Score"). Further details about the definition of a Property can be found in the See Property.. |
|
The default value for this attribute is True. This means that the Input is required for the activity to start. If set to False, then the activity MAY start within the input, but MAY accept the input (more than once) after the activity has started. |
|
The default value for this attribute is True. This means that the Output will be produced when the activity has been completed. If set to False, then the activity MAY produce the output (more than once) before it has completed. |
The following table displays the attributes for Annotations, and which extends the set of common Artifact attributes (see See Common Artifact Attributes.). These attributes only apply if the ArtifactType attribute is set to Annotation:
Text is an attribute that is text that the modeler wishes to communicate to the reader of the Diagram. |
The following table displays the attributes for Groups, and which extends the set of common Artifact attributes (see See Common Artifact Attributes.). These attributes only apply if the ArtifactType attribute is set to Group:
Name is an optional attribute that is text description of the Group. |
The following table displays the set of attributes common to Connecting Objects (Sequence Flow, Message Flow, and Association), and which extends the set of common graphical object attributes (see See Common Graphical Object Attributes.):
The following table displays the set of attributes of a Sequence Flow, and which extends the set of common Connecting Object attributes (see See Common Connecting Object Attributes.):
By default, the ConditionType of a Sequence Flow is None. This means that there is no evaluation at runtime to determine whether or not the Sequence Flow will be used. Once a Token is ready to traverse the Sequence Flow (i.e., the Source is an activity that has completed), then the Token will do so. The normal, uncontrolled use of Sequence Flow, in a sequence of activities, will have a None ConditionType (see See A Sequence Flow.). A None ConditionType MUST NOT be used if the Source of the Sequence Flow is an Exclusive Data-Based or Inclusive Gateway. The ConditionType attribute MAY be set to Expression if the Source of the Sequence Flow is a Task, a Sub-Process, or a Gateway of type Exclusive-Data-Based or Inclusive. If the ConditionType attribute is set to Expression, then a condition marker SHALL be added to the line if the Sequence Flow is outgoing from an activity (see See A Conditional Sequence Flow.). However, a condition indicator MUST NOT be added to the line if the Sequence Flow is outgoing from a Gateway. An Expression ConditionType MUST NOT be used if the Source of the Sequence Flow is an Event-Based Exclusive Gateway, a Complex Gateway, a Parallel Gateway, a Start Event, or an Intermediate Event. In addition, an Expression ConditionType MUST NOT be used if the Sequence Flow is associated with the Default Gate of a Gateway. The ConditionType attribute MAY be set to Default only if the Source of the Sequence Flow is an activity or an Exclusive Data-Based Gateway. If the ConditionType is Default, then the Default marker SHALL be displayed (see See A Default Sequence Flow.). |
|
[ConditionType is set to Expression only] ConditionExpression : Expression |
If the ConditionType attribute is set to Expression, then the ConditionExpression attribute MUST be defined as a valid expression. The expression will be evaluated at runtime. If the result of the evaluation is TRUE, then a Token will be generated and will traverse the Sequence--Subject to any constraints imposed by a Source that is a Gateway. |
The default value is 1. The value MUST NOT be less than 1. This attribute defines the number of Tokens that will be generated down the Sequence Flow. |
The following table displays the identified attributes of a Message Flow, and which extends the set of common Connecting Object attributes (see See Common Connecting Object Attributes.):
Message is an optional attribute that identifies the Message that is being sent. The attributes of a Message can be found in the See Message.. |
The following table displays the identified attributes of a Association, and which extends the set of common Connecting Object attributes (see See Common Connecting Object Attributes.):
The following table displays the set of attributes of an Assignment, which is used in the definition of attributes for Process, Activities, Events, Gateways, and Gates:
The target for the Assignment MUST be a Property of the Process or the activity itself. |
|
The Expression MUST be made up of a combination of Values, Properties, and Attributes, which are separated by operators such as add or multiply. The expression language is defined in the ExpressionLanguage attribute of the Business Process Diagram (see the See Business Process Diagram Attributes.) |
|
An Assignment MAY have a AssignTime setting. If the Object is an activity (Task, Sub-Process, or Process), then the Assignment MUST have an AssignTime. A value of Start means that the assignment SHALL occur at the start of the activity. This can be used to assign the higher-level (global) Properties of the Process to the (local) Properties of the activity as an input to the activity. A value of End means that the assignment SHALL occur at the end of the activity. This can be used to assign the (local) Properties of the activity to the higher-level (global) Properties of the Process as an output to the activity. |
The following table displays the set of attributes of an Entity, which is used in the definition of attributes for a Participant:
Name is an attribute that is text description of the Entity. |
The following table displays the set of attributes of an Expression, which is used in the definition of attributes for Start Event, Intermediate Event, Activity, Complex Gateway, and Sequence Flow:
An Expression MUST be entered to provide a mathematical expression to be either tested as True or False or to be evaluated to update the value of Properties (e.g., assignment). |
The following table displays the set of attributes of a Message, which is used in the definition of attributes for a Start Event, End Event, Intermediate Event, Task, and Message Flow:
Name is an attribute that is text description of the Message. |
|
Multiple Properties MAY entered for the Message. The attributes of a Property can be found in the See Property.. |
|
This defines the source of the Message. The attributes for a Participant can be found in the See Participant.. |
|
This defines the target of the Message. The attributes for a Participant can be found in the See Participant.. |
The following table displays the set of attributes of an Object, which is used in the definition of attributes for all graphical elements:
The Id attribute provides a unique identifier for all objects on a diagram. That is, each object MUST have a different value for the Id attribute. |
The following table displays the set of attributes of a Participant, which is used in the definition of attributes for a Pool, Message, and Web service:
If the ParticipantType = Role, then a Role MUST be identified. The attributes for a Role can be found in the See Role.. |
|
If the ParticipantType = Entity, then an Entity MUST be identified. The attributes for an Entity can be found in the See Entity.. |
The following table displays the set of attributes of a Property, which is used in the definition of attributes for a Process and common activity attributes:
The following table displays the set of attributes of a Role, which is used in the definition of attributes for a Participant:
The following table displays the set of attributes of a Rule, which is used in the definition of attributes for Start Event and Intermediate Event:
A RuleExpression May be entered. In some cases the Rule itself will be stored and maintained in a separate application (e.g., a Rules Engine). The attributes of an Expression can be found in the See Expression.. |
The following table displays the set of attributes of a Transaction, which is used in the definition of attributes for a Sub-Process:
The following table displays the set of attributes of an Web Service, which is used in the definition of attributes for Message Start Event, Message Intermediate Event, Message End Event, Receive Task, Send Task, Service Task, and User Task:
A Participant for the Web Service MUST be entered. Note, this will map to the BPEL4WS partnerLink. The attributes for a Participant can be found in the See Participant.. |
|
(aka portType) An Interface for the Web Service MUST be entered. |
|