The multi-instance marker will be displayed in bottom center of the Pool (Participant - see Figure 9.9, above), or the

Participant Band of a Choreography Activity (see page 321), when the ParticipantMultiplicity is associated with the Participant, and the maximum attribute is either not set, or has a value of two or more.

Table 9.5 presents the attributes for the ParticipantMultiplicity element.

Table 9.5 – ParticipantMultiplicity attributes

Attribute Name

Description/Usage

 

 

minimum: integer = 0

The minimum attribute defines minimum number of Participants that

 

MUST be involved in the Collaboration. If a value is specified in the

 

maximum attribute, it MUST be greater or equal to this minimum value.

maximum: integer [0..1] = 1

The maximum attribute defines maximum number of Participants that MAY

 

be involved in the Collaboration. The value of maximum MUST be one or

 

greater, AND MUST be equal or greater than the minimum value.

Table 9.6 presents the Instance attributes of the ParticipantMultiplicity element.

Table 9.6 – ParticipantMultiplicity Instance attributes

Attribute Name

Description/Usage

 

 

numParticipants: integer [0..1]

The current number of the multiplicity of the Participant for this

 

Choreography or Collaboration Instance.

 

 

ParticipantAssociation

These elements are used to do mapping between two elements that both contain Participants. There are situations where the Participants in different diagrams can be defined differently because they were developed independently, but represent the same thing. The ParticipantAssociation provides the mechanism to match up the Participants.

A ParticipantAssociation is used when an (outer) diagram with Participants contains an (inner) diagram that also has Participants. There are four usages of ParticipantAssociation. It is used when:

1.A Collaboration references a Choreography for inclusion between the Collaboration’s Pools (Participants). The Participants of the Choreography (the inner diagram) need to be mapped to the Participants of the Collaboration (the outer diagram).

2.A Call Conversation references a Collaboration or GlobalConversation. Thus, the Participants of the

Collaboration or GlobalConversation (the inner diagram) need to be mapped to the Participants referenced by the Call Conversation (the outer element). Each Call Conversation contains its own set of

ParticipantAssociations.

3.A Call Choreography references a Choreography or GlobalChoreographyTask. Thus, the Participants of the Choreography or GlobalChoreographyTask (the inner diagram) need to be mapped to the Participants referenced by the Call Choreography (the outer element). Each Call Choreography contains its own set of

ParticipantAssociations.

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

117

4.A Call Activity within a Process that has a definitional Collaboration references another Process that also has a definitional Collaboration. The Participants of the definitional Collaboration of the called Process (the inner diagram) need to be mapped to the Participants of the definitional Collaboration of the calling Process (the outer diagram).

A ParticipantAssociation can be owned by the outer diagram or one its elements. Figure 9.10 shows the class diagram for the ParticipantAssociation element.

Figure 9.10 – ParticipantAssociation class diagram

The ParticipantAssociation element inherits the attributes and model associations of BaseElement (see Table 8.5). Table 9.7 presents the additional model associations for the ParticipantAssociation element.

118

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