0% found this document useful (0 votes)
86 views6 pages

3 CollaborationDiagrams

UML Collaboration Diagrams model the exchange of messages between objects to achieve tasks. They represent collaborations through objects depicted as rectangles with class names and messages shown as labelled arrows. Collaboration Diagram semantics include static structural descriptions of participants and dynamic descriptions of message exchanges. Notation specifies object and message signatures including guards, sequence numbers, and return values. Issues include representing messages to multiplicity of objects and determining when to use synchronous, asynchronous, or simple message flows.

Uploaded by

Harsh Vardhan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views6 pages

3 CollaborationDiagrams

UML Collaboration Diagrams model the exchange of messages between objects to achieve tasks. They represent collaborations through objects depicted as rectangles with class names and messages shown as labelled arrows. Collaboration Diagram semantics include static structural descriptions of participants and dynamic descriptions of message exchanges. Notation specifies object and message signatures including guards, sequence numbers, and return values. Issues include representing messages to multiplicity of objects and determining when to use synchronous, asynchronous, or simple message flows.

Uploaded by

Harsh Vardhan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

UML Collaboration Diagrams

UML Collaboration Diagrams

4 Collaboration Diagram Semantics

• Collaboration Diagram Notation

• Collaboration Diagram Examples

• Collaboration Diagram Issues

Michael Jones UML Collaboration Diagrams 2

1
Collaboration Diagram Semantics
• Member of the Behavioural Group of diagrams
– as well as Sequence, Statechart, and Activity diagrams
• Behavioural description includes
– static - structural description on the participants
– dynamic - description on the execution of the actions
• Collaboration
– set of participants and interactions which are meaningful in a c ontext
• Purpose
– models the exchange of messages between objects to achieve
something
• Can be attached to:
– operation or use case
– class
• Parameterised collaboration
– can be reused
– can assist in defining the structural aspects of a design pattern

Michael Jones UML Collaboration Diagrams 3

UML Collaboration Diagrams

• Collaboration Diagram Semantics

4 Collaboration Diagram Notation

• Collaboration Diagram Examples

• Collaboration Diagram Issues

Michael Jones UML Collaboration Diagrams 4

2
Collaboration Diagram Notation
• Represents a Collaboration and Interaction
• Collaboration
– set of objects and their interactions in a specific context
• Interaction
– set of messages exchanged in a collaboration to produce a desired result
• Objects
– rectangles containing the object signature
– object signature: object name : object Class
• object name (optional) - starts with lowercase letter
• class name (mandatory) - starts with uppercase letter
– objects connected by lines
– user (stick man) can appear
• Messages
– are labelled like C and Java function calls
• followed by round brackets, and can have parameters and return values
– are followed by an arrow to show direction
– internal messages are numbered, starting from 1

Michael Jones UML Collaboration Diagrams 5

UML Collaboration Diagrams

• Collaboration Diagram Semantics

• Collaboration Diagram Notation

4 Collaboration Diagram Examples

• Collaboration Diagram Issues

Michael Jones UML Collaboration Diagrams 6

3
Collaboration Diagram Example
• Scenario: refreshing the icons in a folder window

refresh()
:Renderer window:Window

1: refreshIcons(window) 1.1.1: add(self)

1.1: create(icon)
:IconManager :BitmapGenerator

Michael Jones UML Collaboration Diagrams 7

UML Collaboration Diagrams

• Collaboration Diagram Semantics

• Collaboration Diagram Notation

• Collaboration Diagram Examples

4 Collaboration Diagram Issues

Michael Jones UML Collaboration Diagrams 8

4
Collaboration Diagram Issues
• Message Signature
– guard
• condition applied to the message
• in square brackets at the start of the signature
– sequence number
• numbers separated by dots, ending in a colon
– return value
• name followed by :=
– operation name
– argument list
• names separated by commas, within round brackets

• Types of message flows


– synchronous, asynchronous, simple

• Multiplicity of objects
– how can messages sent to a multiplicity (e.g., an array) of objects be
represented?

Michael Jones UML Collaboration Diagrams 9

Types of Message Flows


• Simple
– indicates flow of control - sender waits until receiver processes message
– default
– shown by an 'empty' arrow

• Synchronous
– indicates nested flow of control
– used to ensure that state cannot be compromised by external factors
• e.g., not interrupted by the operating system
– shown by a 'filled' arrow

• Asynchronous
– a signal from one object to another
– shown as half an empty arrow

Michael Jones UML Collaboration Diagrams 10

5
Multiplicity in Collaboration Diagrams
• A server object needs to send a message to each user logged
in, and another message to the audit object (which keeps a
track of messages sent)

1. sendWarning(text:String)
:Admin :User
*

2. addMessage(text:String)
:Audit

Michael Jones UML Collaboration Diagrams 11

Summary
• Collaboration Diagram Semantics
– objects and messages
– static representation of messages which could be sent
– sequence of messages indicated

• Collaboration Diagram Notation


– rectangles for objects
• object signature: name : Class
– messages with arrows
• message signature
• [ guard] sequence number : result := messageName(int)

• Collaboration Diagram Issues


– multiplicity
– when to use

Michael Jones UML Collaboration Diagrams 12

You might also like