Table 9.12 – Call Conversation Model Associations

Attribute Name

Description/Usage

 

 

calledCollaborationRef:

The element to be called, which MAY be either a Collaboration or a

Collaboration [0..1]

GlobalConversation. The called element MUST NOT be a

 

 

Choreography or a GlobalChoreographyTask (which are sub-

 

types of Collaboration)

participantAssociations: Participant

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

Association [0..*]

referenced GlobalConversation or Conversation to the

 

 

Participants of the parent Conversation.

 

 

NOTE: The ConversationNode attribute messageFlowRef doesn’t apply to Call Conversations.

9.5.5Global Conversation

A GlobalConversation is a reusable, atomic Conversation definition that can be called from within any

Collaboration by a Call Conversation.

The GlobalConversation element inherits the attributes and model associations and Collaboration (see Table 9.1), but does not have any additional attributes or model associations.

A GlobalConversation is a restricted type of Collaboration, it is an “empty Collaboration.”

A GlobalConversation MUST NOT contain any ConversationNodes.

Since a GlobalConversation does not have any Flow Elements, it does not require

MessageFlowAssociations, ParticipantAssociations, or ConversationAssociations or Artifacts. It is basically a set of Participants, Message Flows, and CorrelationKeys intended for reuse. Also, the

Collaboration attribute choreographyRef is not applicable to GlobalConversation.

9.5.6Conversation Link

Conversation Links are used to connect ConversationNodes to and from Participants (Pools -- see Figure 9.27). Conversation Links MUST be drawn with double thin lines.

P r o c u r e m e n t

R F Q

S u p p lie r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A C o n v e r s a tio n L in k : th e c o n n e c tio n b e tw e e n a

P a r tic ip a n t a n d a

C o n v e r s a tio n N o d e

Figure 9.27 – A Conversation Link element

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

131

Processes can appear in the Participants (Pools) of Conversation diagrams, as shown in Figure 9.28. The invoicing and ordering Conversations have links into Activities and Events of the Process in the Order Processor. The other two Conversations do not have their links “expanded.” Conversation Links into Activities that are not Send or Receive Tasks indicate that the Activity will send or receive Messages of the Conversation at some level of nesting.

 

 

 

Invoicer

 

 

 

 

 

 

Invoicing

 

 

 

 

 

Initiate Price

 

Price

Process

 

 

 

 

Calculations

 

 

 

Calculations

 

Invoice

 

 

 

 

Complete

 

Processor

 

 

 

 

 

 

 

 

 

Receive

Assignment

Request

Process

Send Shipping

Send

Order

Order

Shipping

Schedule

Schedule

Invoice

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Scheduling

 

 

 

 

 

 

Product

 

 

 

 

 

 

Request

 

 

 

 

Sheduling Shipping

Scheduler

Ordering

Shipper

 

 

 

 

 

 

Customer

Figure 9.28 – Conversation links to Activities and Events

132

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

Figure 9.29 – Metamodel of Conversation Links related elements

The Conversation Link element inherits the attributes and model associations of BaseElement (see Table 8.5). Table 9.13 presents the additional attributes and model associations for the Conversation Link element.

Table 9.13 – Conversation Link Attributes and Model Associations

Attribute Name

Description/Usage

 

 

name: string [0..1]

This attribute specifies the name of the Conversation Link.

 

 

sourceRef: InteractionNode

The InteractionNode that the Conversation Link is connecting

 

from. A Conversation Link MUST connect to exactly one

 

ConversationNode. If the sourceRef is not a

 

ConversationNode, then the targetRef MUST be a

 

ConversationNode.

targetRef: InteractionNode

The InteractionNode that the Conversation Link is connecting

 

to. A Conversation Link MUST connect to exactly one

 

ConversationNode. If the targetRef is not a

 

ConversationNode, then the sourceRef MUST be a

 

ConversationNode.

Conversation Links for Call Conversations show the names of Participants in nested Collaboration or global

Collaborations, as identified by ParticipantAssociations. For example, Figure 9.30 has a Collaboration on the left with a Call Conversations to a Collaboration on the right. The Conversation Links on the left indicate

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

133

which Participants in the called Collaboration on the right correspond to which Participants in the calling Collaboration on the left. For example, the Credit Agency Participants on the right corresponds to the Financial Company Participant on the left. ParticipantAssociations (not shown) tie each Participant in the Collaboration on the left to a Participant in the Collaboration on the right. They can be used to show the names of

Participants in nested Collaboration or global Collaborations.

Financial

 

Credit Agency

Company

 

 

Credit Agency

 

 

Credit

Credit

Credit

Score

Response

Purchase

Request

 

Buyer

 

 

Retailer

 

Buyer

Figure 9.30 – Call Conversation Links

9.5.7Conversation Association

A ConversationAssociation is used within Collaborations and Choreographies to apply a reusable Conversation to the Message Flows of those diagrams.

A ConversationAssociation is used when a diagram references a Conversation to provide Message correlation information and/or to logically group Message Flows. It is used when:

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

134

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