The basic elements of a Collaboration Model are Participants, that are represented as Pools, Message Flows between them and Messages.
For example there could be Collaboration “Organize Venue for Runway Show” with a Participant “Runway Show Management” and a Participant “Venue Provider”. There could be a message “Booking Request” and a message “Booking Confirmation”. A first Message Flow “Requesting Booking” (name not written in the diagram) would have a source RunwayShowManagement and a Target VenueProvider and would have a message BookingRequest. A second Message Flow “Confirming Booking” (name not written in the diagram) would have a source VenueProvider and a Target RunwayShowManagement and would have a Message BookingConfirmation.
This is a very simple model, which does not yet define sequences of the messages, nor does it yet show processes inside the pools. However the basic elements are present.
There follows an example of a possible instance model in an intuitive descriptive language.
Definitions targetNameSpace http://www.bpmnforum.net/ { Message ID BookingRequest Name "Booking Request"; Message ID BookingConfirmation Name "Booking Confirmation"; Collaboration ID collaboration_0 Name "Organize Venue for Runway Show" { Participant ID participant_1 Name "Runway Show Management"; Participant ID participant_2 Name "Venue Provider"; MessageFlow ID mf_0 Name "Requesting Booking" targetRef participant_2 sourceRef participant_1 messageRef BookingRequest; MessageFlow ID mf_2 Name "Confirming Booking" targetRef participant_1 sourceRef participant_2 messageRef BookingConfirmation; }; }
