- •1 Scope
- •1.1 General
- •2 Conformance
- •2.1 General
- •2.2 Process Modeling Conformance
- •2.2.1 BPMN Process Types
- •2.2.2 BPMN Process Elements
- •Descriptive Conformance Sub-Class
- •Analytic Conformance Sub-Class
- •Common Executable Conformance Sub-Class
- •2.2.3 Visual Appearance
- •2.2.4 Structural Conformance
- •2.2.5 Process Semantics
- •2.2.6 Attributes and Model Associations
- •2.2.7 Extended and Optional Elements
- •2.2.8 Visual Interchange
- •2.3 Process Execution Conformance
- •2.3.1 Execution Semantics
- •2.3.2 Import of Process Diagrams
- •2.4 BPEL Process Execution Conformance
- •2.5 Choreography Modeling Conformance
- •2.5.1 BPMN Choreography Types
- •2.5.2 BPMN Choreography Elements
- •2.5.3 Visual Appearance
- •2.5.4 Choreography Semantics
- •2.5.5 Visual Interchange
- •2.6 Summary of BPMN Conformance Types
- •3 Normative References
- •3.1 General
- •3.2 Normative
- •3.3 Non-Normative
- •Activity Service
- •BPEL4People
- •Business Process Definition Metamodel
- •Business Process Modeling
- •Business Transaction Protocol
- •Dublin Core Meta Data
- •ebXML BPSS
- •Open Nested Transactions
- •SOAP 1.2
- •UDDI
- •WfMC Glossary
- •Web Services Transaction
- •Workflow Patterns
- •WSBPEL
- •WS-Coordination
- •WSDL
- •WS-HumanTask
- •XML 1.0 (Second Edition)
- •XML-Namespaces
- •XML-Schema
- •XPath
- •XPDL
- •4 Terms and Definitions
- •5 Symbols
- •6 Additional Information
- •6.1 Conventions
- •6.1.1 Typographical and Linguistic Conventions and Style
- •6.1.2 Abbreviations
- •6.2 Structure of this Document
- •6.3 Acknowledgments
- •Submitting Organizations
- •Supporting Organizations
- •Special Acknowledgments
- •7 Overview
- •7.1 General
- •7.2 BPMN Scope
- •7.2.1 Uses of BPMN
- •Private (Internal) Business Processes
- •Public Processes
- •Collaborations
- •Choreographies
- •Conversations
- •Diagram Point of View
- •Understanding the Behavior of Diagrams
- •7.3 BPMN Elements
- •7.3.1 Basic BPMN Modeling Elements
- •7.3.2 Extended BPMN Modeling Elements
- •7.4 BPMN Diagram Types
- •7.5 Use of Text, Color, Size, and Lines in a Diagram
- •7.6 Flow Object Connection Rules
- •7.6.1 Sequence Flow Connections Rules
- •7.6.2 Message Flow Connection Rules
- •7.7 BPMN Extensibility
- •7.8 BPMN Example
- •8 BPMN Core Structure
- •8.1 General
- •8.2 Infrastructure
- •8.2.1 Definitions
- •8.2.2 Import
- •8.2.3 Infrastructure Package XML Schemas
- •8.3 Foundation
- •8.3.1 Base Element
- •8.3.2 Documentation
- •8.3.3 Extensibility
- •Extension
- •ExtensionDefinition
- •ExtensionAttributeDefinition
- •ExtensionAttributeValue
- •Extensibility XML Schemas
- •XML Example
- •8.3.4 External Relationships
- •8.3.5 Root Element
- •8.3.6 Foundation Package XML Schemas
- •8.4 Common Elements
- •8.4.1 Artifacts
- •Common Artifact Definitions
- •Artifact Sequence Flow Connections
- •Artifact Message Flow Connections
- •Association
- •Group
- •Category
- •Text Annotation
- •XML Schema for Artifacts
- •8.4.2 Correlation
- •CorrelationKey
- •Key-based Correlation
- •Context-based Correlation
- •XML Schema for Correlation
- •8.4.3 Error
- •8.4.4 Escalation
- •8.4.5 Events
- •8.4.6 Expressions
- •Expression
- •Formal Expression
- •8.4.7 Flow Element
- •8.4.8 Flow Elements Container
- •8.4.9 Gateways
- •8.4.10 Item Definition
- •8.4.11 Message
- •8.4.12 Resources
- •8.4.13 Sequence Flow
- •Flow Node
- •8.4.14 Common Package XML Schemas
- •8.5 Services
- •8.5.1 Interface
- •8.5.2 EndPoint
- •8.5.3 Operation
- •8.5.4 Service Package XML Schemas
- •9 Collaboration
- •9.1 General
- •9.2 Basic Collaboration Concepts
- •9.2.1 Use of BPMN Common Elements
- •9.3 Pool and Participant
- •9.3.1 Participants
- •PartnerEntity
- •PartnerRole
- •Participant Multiplicity
- •ParticipantAssociation
- •9.3.2 Lanes
- •9.4 Message Flow
- •9.4.1 Interaction Node
- •9.4.2 Message Flow Associations
- •9.5 Conversations
- •9.5.1 Conversation Node
- •9.5.2 Conversation
- •9.5.3 Sub-Conversation
- •9.5.4 Call Conversation
- •9.5.5 Global Conversation
- •9.5.6 Conversation Link
- •9.5.7 Conversation Association
- •9.5.8 Correlations
- •9.6 Process within Collaboration
- •9.7 Choreography within Collaboration
- •9.8 Collaboration Package XML Schemas
- •10 Process
- •10.1 General
- •10.2 Basic Process Concepts
- •10.2.1 Types of BPMN Processes
- •10.2.2 Use of BPMN Common Elements
- •10.3 Activities
- •Sequence Flow Connections
- •Message Flow Connections
- •10.3.1 Resource Assignment
- •Resource Role
- •Expression Assignment
- •Parameterized Resource Assignment
- •10.3.2 Performer
- •10.3.3 Tasks
- •Service Task
- •Send Task
- •Receive Task
- •User Task
- •Manual Task
- •Business Rule
- •Script Task
- •10.3.4 Human Interactions
- •Notation
- •Manual Task
- •User Task
- •Rendering of User Tasks
- •Human Performers
- •Potential Owners
- •XML Schema for Human Interactions
- •Examples
- •10.3.5 Sub-Processes
- •Embedded Sub-Process (Sub-Process)
- •Reusable Sub-Process (Call Activity)
- •Event Sub-Process
- •Transaction
- •Ad-Hoc Sub-Process
- •10.3.6 Call Activity
- •Callable Element
- •10.3.7 Global Task
- •Types of Global Task
- •10.3.8 Loop Characteristics
- •Standard Loop Characteristics
- •Multi-Instance Characteristics
- •Complex Behavior Definition
- •10.3.9 XML Schema for Activities
- •10.4 Items and Data
- •10.4.1 Data Modeling
- •Item-Aware Elements
- •Data Objects
- •DataObject
- •States
- •Data Objects representing a Collection of Data
- •Visual representations of Data Objects
- •Lifecycle and Accessibility
- •Data Stores
- •Properties
- •Lifecycle and Accessibility
- •Data Inputs and Outputs
- •Data Input
- •States
- •Data Output
- •States
- •Service Task Mapping
- •Send Task Mapping
- •Receive Task Mapping
- •User Task Mapping
- •Call Activity Mapping
- •Script Task Mapping
- •Events
- •InputSet
- •OutputSet
- •Data Associations
- •DataAssociation
- •Assignment
- •DataInputAssociation
- •DataOutputAssociation
- •Data Objects associated with a Sequence Flow
- •10.4.2 Execution Semantics for Data
- •Execution Semantics for DataAssociation
- •10.4.3 Usage of Data in XPath Expressions
- •Access to BPMN Data Objects
- •Access to BPMN Data Input and Data Output
- •Access to BPMN Properties
- •For BPMN Instance Attributes
- •10.4.4 XML Schema for Data
- •10.5 Events
- •10.5.1 Concepts
- •Data Modeling and Events
- •Common Event attributes
- •Common Catch Event attributes
- •Common Throw Event Attributes
- •Implicit Throw Event
- •10.5.2 Start Event
- •Start Event Triggers
- •Start Events for Top-level Processes
- •Start Events for Sub-Processes
- •Start Events for Event Sub-Processes
- •Attributes for Start Events
- •Sequence Flow Connections
- •Message Flow Connections
- •10.5.3 End Event
- •End Event Results
- •Sequence Flow Connections
- •Message Flow Connections
- •10.5.4 Intermediate Event
- •Intermediate Event Triggers
- •Intermediate Events in Normal Flow
- •Intermediate Events Attached to an Activity Boundary
- •Attributes for Boundary Events
- •Activity Boundary Connections
- •Sequence Flow Connections
- •Message Flow Connections
- •10.5.5 Event Definitions
- •Event Definition Metamodel
- •Cancel Event
- •Compensation Event
- •Conditional Event
- •Error Event
- •Escalation Event Definition
- •Link Event Definition
- •Message Event Definition
- •Multiple Event
- •None Event
- •Parallel Multiple Event
- •Signal Event
- •Terminate Event
- •Timer Event
- •10.5.6 Handling Events
- •Handling Start Events
- •Handling Events within normal Sequence Flow (Intermediate Events)
- •Handling Events attached to an Activity (Intermediate boundary Events and Event Sub-Processes)
- •Interrupting Event Handlers (Error, Escalation, Message, Signal, Timer, Conditional, Multiple, and Parallel Multiple)
- •Non-interrupting Event Handlers (Escalation, Message, Signal, Timer, Conditional, Multiple, and Parallel Multiple)
- •Handling End Events
- •10.5.7 Scopes
- •10.5.8 Events Package XML Schemas
- •10.6 Gateways
- •10.6.1 Sequence Flow Considerations
- •10.6.2 Exclusive Gateway
- •10.6.3 Inclusive Gateway
- •10.6.4 Parallel Gateway
- •10.6.5 Complex Gateway
- •10.6.6 Event-Based Gateway
- •10.6.7 Gateway Package XML Schemas
- •10.7 Compensation
- •10.7.1 Compensation Handler
- •10.7.2 Compensation Triggering
- •10.7.3 Relationship between Error Handling and Compensation
- •10.8 Lanes
- •10.9 Process Instances, Unmodeled Activities, and Public Processes
- •10.10 Auditing
- •10.11 Monitoring
- •10.12 Process Package XML Schemas
- •11 Choreography
- •11.1 General
- •11.2 Basic Choreography Concepts
- •11.3 Data
- •11.4 Use of BPMN Common Elements
- •11.4.1 Sequence Flow
- •11.4.2 Artifacts
- •11.5 Choreography Activities
- •11.5.1 Choreography Task
- •11.5.2 Sub-Choreography
- •The Parent Sub-Choreography (Expanded)
- •11.5.3 Call Choreography
- •11.5.4 Global Choreography Task
- •11.5.5 Looping Activities
- •11.5.6 The Sequencing of Activities
- •11.6 Events
- •11.6.1 Start Events
- •11.6.2 Intermediate Events
- •11.6.3 End Events
- •11.7 Gateways
- •11.7.1 Exclusive Gateway
- •11.7.2 Event-Based Gateway
- •11.7.3 Inclusive Gateway
- •11.7.4 Parallel Gateway
- •11.7.5 Complex Gateway
- •11.7.6 Chaining Gateways
- •11.8 Choreography within Collaboration
- •11.8.1 Participants
- •11.8.2 Swimlanes
- •Choreography Task in Combined View
- •Sub-Choreography in Combined View
- •11.9 XML Schema for Choreography
- •12 BPMN Notation and Diagrams
- •12.1 BPMN Diagram Interchange (BPMN DI)
- •12.1.1 Scope
- •12.1.2 Diagram Definition and Interchange
- •12.1.3 How to Read this Clause
- •12.2 BPMN Diagram Interchange (DI) Meta-model
- •12.2.1 Overview
- •12.2.2 Abstract Syntax
- •12.2.3 Classifier Descriptions
- •12.2.4 Complete BPMN DI XML Schema
- •12.3 Notational Depiction Library and Abstract Element Resolutions
- •12.3.1 Labels
- •12.3.2 BPMNShape
- •Markers for Activities
- •Tasks [BPMNShape]
- •Collapsed Sub-Processes [BPMNShape]
- •Expanded Sub-Processes [BPMNShape]
- •Collapsed Ad Hoc Sub-Processes [BPMNShape]
- •Expanded Ad Hoc Sub-Processes [BPMNShape]
- •Collapsed Transactions [BPMNShape]
- •Expanded Transactions [BPMNShape]
- •Collapsed Event Sub-Processes [BPMNShape]
- •Expanded Event Sub-Processes [BPMNShape]
- •Call Activities (Calling a Global Task) [BPMNShape]
- •Collapsed Call Activities (Calling a Process) [BPMNShape]
- •Expanded Call Activities (Calling a Process) [BPMNShape]
- •Data [BPMNShape]
- •Events [BPMNShape]
- •Gateways [BPMNShape]
- •Artifacts [BPMNShape]
- •Lanes [BPMNShape]
- •Pools [BPMNShape]
- •Choreography Tasks [BPMNShape]
- •Collapsed Sub-Choreographies [BPMNShape]
- •Expanded Sub-Choreographies [BPMNShape]
- •Call Choreographies (Calling a Global Choreography Task) [BPMNShape]
- •Collapsed Call Choreographies (Calling a Choreography) [BPMNShape]
- •Expanded Call Choreographies (Calling a Choreography) [BPMNShape]
- •Choreography Participant Bands [BPMNShape]
- •Conversations [BPMNShape]
- •12.3.3 BPMNEdge
- •Connecting Objects [BPMNEdge]
- •12.4 Example(s)
- •12.4.1 Depicting Content in a Sub-Process
- •Expanded Sub-Process
- •Expanded Sub-Process with Start and End Events on Border
- •Collapsed Sub-Process
- •12.4.2 Multiple Lanes and Nested Lanes
- •12.4.3 Vertical Collaboration
- •12.4.4 Conversation
- •12.4.5 Choreography
- •13 BPMN Execution Semantics
- •13.1 General
- •13.2 Process Instantiation and Termination
- •13.3 Activities
- •13.3.1 Sequence Flow Considerations
- •13.3.2 Activity
- •13.3.3 Task
- •13.3.4 Sub-Process/Call Activity
- •13.3.5 Ad-Hoc Sub-Process
- •Operational semantics
- •13.3.6 Loop Activity
- •13.3.7 Multiple Instances Activity
- •13.4 Gateways
- •13.4.1 Parallel Gateway (Fork and Join)
- •13.4.2 Exclusive Gateway (Exclusive Decision (data-based) and Exclusive Merge)
- •13.4.3 Inclusive Gateway (Inclusive Decision and Inclusive Merge)
- •13.4.4 Event-based Gateway (Exclusive Decision (event-based))
- •13.4.5 Complex Gateway (related to Complex Condition and Complex Merge)
- •13.5 Events
- •13.5.1 Start Events
- •13.5.2 Intermediate Events
- •13.5.3 Intermediate Boundary Events
- •13.5.4 Event Sub-Processes
- •Operational semantics
- •13.5.5 Compensation
- •Compensation Handler
- •Compensation Triggering
- •Relationship between Error Handling and Compensation
- •Operational Semantics
- •13.5.6 End Events
- •Process level end events
- •Sub-process level end events
- •14 Mapping BPMN Models to WS-BPEL
- •14.1 General
- •14.2 Basic BPMN-BPEL Mapping
- •14.2.1 Process
- •14.2.2 Activities
- •Common Activity Mappings
- •Task Mappings
- •Service Task
- •Receive Task
- •Send Task
- •Abstract Task
- •Service Package
- •Message
- •Interface and Operation
- •Conversations and Correlation
- •Sub-Process Mappings
- •Mapping of Event Sub-Processes
- •Activity Loop Mapping
- •Standard Loops
- •Dealing with LoopMaximum
- •Multi-Instance Activities
- •14.2.3 Events
- •Start Event Mappings
- •Message Start Events
- •Error Start Events
- •Compensation Start Events
- •Intermediate Event Mappings (Non-boundary)
- •Message Intermediate Events (Non-boundary)
- •Timer Intermediate Events (Non-boundary)
- •Compensation Intermediate Events (Non-boundary)
- •End Event Mappings
- •None End Events
- •Message End Events
- •Error End Events
- •Compensation End Events
- •Terminate End Events
- •Boundary Intermediate Events
- •Message Boundary Events
- •Error Boundary Events
- •Compensation Boundary Events
- •Multiple Boundary Events, and Boundary Events with Loops
- •14.2.4 Gateways and Sequence Flows
- •Exclusive (Data-based) Decision Pattern
- •Exclusive (Event-based) Decision Pattern
- •Inclusive Decision Pattern
- •Parallel Pattern
- •Sequence Pattern
- •Structured Loop Patterns
- •Handling Loops in Sequence Flows
- •14.2.5 Handling Data
- •Data Objects
- •Properties
- •Input and Output Sets
- •Data Associations
- •Expressions
- •Assignments
- •14.3 Extended BPMN-BPEL Mapping
- •14.3.1 End Events
- •14.3.2 Loop/Switch Combinations From a Gateway
- •14.3.3 Interleaved Loops
- •14.3.4 Infinite Loops
- •14.3.5 BPMN Elements that Span Multiple WSBPEL Sub-Elements
- •15 Exchange Formats
- •15.1 Interchanging Incomplete Models
- •15.2 Machine Readable Files
- •15.3.1 Document Structure
- •15.3.2 References within the BPMN XSD
- •15.5 XSLT Transformation between XSD and XMI
- •B.1 Scope
- •B.2 Architecture
- •B.3 Diagram Common
- •B.3.1 Overview
- •B.3.2 Abstract Syntax
- •B.3.3 Classifier Descriptions
- •B.4 Diagram Interchange
- •B.4.1 Overview
- •B.4.2 Abstract Syntax
- •B.4.3 Classifier Descriptions
Figure 11.33 shows the Collaboration view of the above Choreography diagram. It becomes clear that “Participant A” will not know the appropriate time to send Message “M3” to “Participant C.” If the Message is sent too soon, then “Participant C” will not be prepared to receive it. Thus, as a Choreography, the model in Figure 11.32, above, cannot be enforced.
N ot Va lid –
There is no w ay to enforce the seq uen ce of “M 2” and “M 3”
A |
|
|
Participant |
Se nd |
Sen d |
Me ssag e |
Message |
|
|
|
|
|
M 1 |
M3 |
B |
|
|
Participant |
R ece ive |
S end |
|
||
|
Me ssag e |
M essa ge |
|
M 2 |
|
C |
|
|
Participant |
R eceive |
R e ce ive |
M essa ge |
Message |
|
|
|
Figure 11.33 – The corresponding Collaboration for an invalid Choreography sequence
11.6 Events
11.6.1 Start Events
Start Events provide the graphical marker for the start of a Choreography. They are used much in the same way as they are used for a Process (see “Start Event” on page 237). This table shows how the types of Start Events are applied to Choreography.
Business Process Model and Notation (BPMN), v2.0.2 |
339 |
Table 11.6 – Use of Start Events in Choreography
Type of Event |
|
Usage in Choreography? |
|
|
|
|
|
None |
|
Yes. This is really just a graphical marker since the arrival of the first Message in the |
|
|
|
Choreography is really the Trigger for the Choreography. Sub-Processes, |
|
|
|
however, we should look at. The Parent Process can be considered the trigger. |
|
|
|
|
|
Message |
|
No. A Message Start Event, in a stand-alone Choreography, has no way to show |
|
|
|
who the senders or receivers of the Message should be. A Choreography Task |
|
|
|
should be used instead. Thus, a None Start Event should be used as a graphical |
|
|
|
marker for the “start” of the Choreography. |
|
|
|
|
|
Timer |
|
Yes. All Participants have to have an agreement to the approximate time. |
|
|
|
|
|
Escalation |
|
No. An Escalation is only visible to a single Participant. That Participant will have to |
|
|
|
send a Message to the other Participants. |
|
|
|
|
|
Error |
|
No. An Error is only visible to a single Participant. That Participant will have to send a |
|
|
|
Message to the other Participants. |
|
|
|
|
|
Compensation |
|
No. Compensation is handled within a single Participant (an orchestration |
|
|
|
Process). |
|
|
|
|
|
Conditional |
|
Yes. This is actually determined internal to Participant, but then the other Participants |
|
|
|
know this has happened based the first interaction that follows. |
|
|
|
|
|
Signal |
|
Yes. The source of the Signal is NOT REQUIRED (and might not even be a Participant |
|
|
|
in the Choreography). There are no specific recipients of a Signal. All Participants of |
|
|
|
the Choreography (to comply) MUST be able to see the Signal. |
|
|
|
|
|
Multiple |
|
Yes. But they can only be Multiple Signals or Timers. As in Orchestration, this acts like |
|
|
|
an OR. Any one of the incoming Signals will Trigger the Choreography. Any Signal |
|
|
|
that follows would create a separate instance of the Choreography. |
|
|
|
|
|
11.6.2 Intermediate Events |
|||
Table 11.7– Use of Intermediate Events in Choreography |
|||
|
|
|
|
Type of Event |
|
Usage in Choreography? |
|
|
|
|
|
None: in Normal Flow |
|
Yes. However, this really doesn’t have much meaning other than just document- |
|
|
|
|
ing that a specific point has been reached in the Choreography. There would be |
|
|
|
no Message exchange or any delay in the Choreography. |
|
|
|
|
None: Attached to Activity |
|
No. There would be no way for Participants to know when the Activity should be |
|
boundary |
|
interrupted. |
|
|
|
|
|
|
|
|
|
340 |
Business Process Model and Notation (BPMN), v2.0.2 |
Table 11.7– Use of Intermediate Events in Choreography
Message: in Normal Flow |
No. A Message Intermediate Event, in a stand-alone Choreography, has no |
|
way to show who the senders or receivers of the Message should be. A |
|
Choreography Task should be used instead. Also, would the Event be a Catch |
|
or a Throw? |
|
|
Message: Attached to |
Yes. Only for Choreography Tasks. The Intermediate Event has to be attached |
Activity boundary |
to the Participant Band of the receiver of the Message (since it is a catch |
|
|
|
Event). The sender of the message has to be the other Participant of the |
|
Choreography Task. |
|
|
Message: Use in Event |
No. A Message Intermediate Event, in a stand-alone Choreography, has no |
Gateway |
way to show who the senders or receivers of the Message should be. A |
|
|
|
Choreography Task should be used instead. |
|
|
Timer: in Normal Flow |
Yes. Time is not precise in Choreography. It is established by the last visible |
|
Choreography Activity. The Participants involved in the Choreography Activity |
|
that immediately precedes will have a rough approximation of the time—there |
|
will be no exact synchronization. |
|
For relative timers: Only the Participants involved in the Choreography Activity that |
|
immediately precedes the Event would know the time. The sender of the Choreography |
|
Activity that immediately follows the timer MUST be involved in the Choreography Activity |
|
that immediately precedes the timer. |
|
For absolute timers (full time/date): All Participants would know the time. There does not |
|
have to be a relationship between the Participants of the Choreography Activities that are |
|
on either side the timer. |
|
The sender of the Choreography Activity that immediately follows the timer is the |
|
Participant that enforces the timer. |
|
|
Timer: Attached to Activity |
Yes. Time is not exact in this case. It is established by the last visible Event. All |
boundary |
Participants will have a rough approximation of the time—there will be no exact |
|
|
|
synchronization. This includes both interrupting and escalation Events. |
|
The Participants of the Choreography Activity that has the attached timer all enforce the |
|
timer. |
|
For relative timers: They all have to be involved in the Choreography Activity that |
|
immediately precedes the Activity with the attached timer. |
|
For absolute timers (full time/date): All Participants would know the time. They all have to |
|
be involved in the Choreography Activity that immediately precedes the Activity with the |
|
attached timer. |
|
|
Timer: Used in Event |
Yes. See Event-Based Gateway below. |
Gateway |
|
|
|
Error: Attached to Activity |
No. An Error is only visible to a single Participant. That Participant will have to |
boundary |
send a Message to the other Participants. |
|
|
|
|
Escalation: Used in |
No. An Escalation is only visible to a single Participant. That Participant will have |
Normal Flow |
to send a Message to the other Participants. |
|
|
|
|
Business Process Model and Notation (BPMN), v2.0.2 |
341 |
Table 11.7– Use of Intermediate Events in Choreography
Escalation: Attached to Activity |
No. An Escalation is only visible to a single Participant. That Participant will have |
boundary |
to send a Message to the other Participants. |
|
|
|
|
Cancel: in Normal Flow |
No. These are Throw Events. As with a Message Event, there would be no |
|
indicator as to who is the source of the Cancel. |
|
|
Cancel: Attached to Activity |
Yes. These are Catch Events. As with a Message Event, they would be |
boundary |
attached to the Choreography Activity on the Participant Band that is receiv- |
|
|
|
ing the Cancel. These would only be interrupting Events. |
|
|
Compensation: in Normal |
No. These are Throw Events. As with a Message, there would be no indicator |
Flow |
as to who is the source of the Cancel. |
|
|
|
|
Compensation: Attached to |
Yes. These are Catch Events. As with a Message Event, they would be |
Activity boundary |
attached to the Choreography Activity on the Participant Band that is receiv- |
|
|
|
ing the Cancel. |
|
|
Conditional: in Normal Flow |
Yes. This is a delay that waits for a change in data to trigger the Event. The data |
|
are to be visible to the Participants as it was data of a previously sent Message. |
|
|
Conditional: Attached to |
Yes. This is an interruption that waits for a change in data to trigger the Event. |
Activity boundary |
The data are to be visible to the Participants as it was data of a previously sent |
|
|
|
Message. |
|
|
Conditional: Used in Event |
Yes. This is a delay that waits for a change in data to trigger the Event. The data |
Gateway |
are to be visible to the Participants as it was data of a previously sent Message. |
|
|
|
|
Link: in Normal Flow |
Yes. These types of Events merely create a virtual Sequence Flows. Thus, as |
|
long as a Sequence Flow between two elements is valid (and within a |
|
Choreography Process level), then a pair of Link Events can interrupt that |
|
Sequence Flow. |
|
|
Signal: in Normal Flow |
Yes. Only Catch Events can be used. For Throw Signal Events, there would be |
|
no indicator of who is the source Participant. |
|
This would be a delay in the Choreography that waits for the Signal. The source of the |
|
Signal is NOT REQUIRED (and might not even be a Participant in the Choreography). |
|
There are no specific recipients of a Signal. All Participants of the Choreography (to |
|
comply) MUST be able to see the Signal. |
|
|
Signal: Attached to Activity |
Yes. These are Catch Events. This would be an interruption in the Choreogra- |
boundary |
phy that waits for the Signal. The source of the Signal is NOT REQUIRED (and |
|
|
|
might not even be a Participant in the Choreography). There are no specific |
|
recipients of a Signal. All Participants of the Choreography (to comply) MUST |
|
be able to see the Signal. This Event MUST NOT be attached to a Participant |
|
Band or this would suggest that Participant is a specific recipient of the |
|
Signal. |
|
|
342 |
Business Process Model and Notation (BPMN), v2.0.2 |