Table 9.1 – Collaboration Attributes and Model Associations

participantAssociations:

This attribute provides a list of mappings from the Participants of a

ParticipantAssociations [0..*]

referenced Collaboration to the Participants of another Collaboration. It is

 

 

used in the following situations

 

• When a Choreography is referenced by the Collaboration.

 

• When a definitional Collaboration for a Process is referenced through

 

a Call Activity (and mapped to definitional Collaboration of the

 

calling Process).

 

 

messageFlow: Message Flow

This provides the list of Message Flows that are used in the Collaboration.

[0..*]

Message Flows are visualized in Collaboration (as dashed line) and

 

 

hidden in Choreography.

 

 

messageFlowAssociations:

This attribute provides a list of mappings for the Message Flows of the

Message Flow Association [0..*]

Collaboration to Message Flows of a referenced model. It is used in the

 

 

following situation:

 

• When a Choreography is referenced by a Collaboration. This allows

 

the "wiring up" of the Collaboration Message Flows to the

 

appropriate Choreography Activities.

 

 

IsClosed: boolean = false

A boolean value specifying whether Message Flows not modeled in the

 

Collaboration can occur when the Collaboration is carried out.

 

If the value is true, they MAY NOT occur.

 

• If the value is false, they MAY occur.

 

 

A set of Messages Flow of a particular Collaboration MAY belong to a Conversation. A Conversation is a set of

Message Flows that share a particular purpose (i.e., they all relate to the handling of a single order - see page 123 for more information about Conversations).

9.2Basic Collaboration Concepts

A Collaboration usually contains two or more Pools, representing the Participants in the Collaboration. The Message exchange between the Participants is shown by a Message Flow that connects two Pools (or the objects within the Pools). The Messages associated with the Message Flows MAY also be shown. See 9.3, 9.4, and 9.5 for examples of Collaborations.

A Pool MAY be empty, a “black box,” or MAY show a Process within. Choreographies MAY be shown “in between” the Pools as they bisect the Message Flows between the Pools. All combinations of Pools, Processes, and a Choreography are allowed in a Collaboration.

9.2.1Use of BPMN Common Elements

Some BPMN elements are common to both Process and Choreography, as well as Collaboration; they are used in these diagrams. The next few sub clauses will describe the use of Messages, Message Flows, Participants,

Sequence Flows, Artifacts, Correlations, Expressions, and Services in Choreography.

110

Business Process Model and Notation (BPMN), v2.0.2