interaction diagrams - win.tue.nlaserebre/2iw80/2013-2014/06 - uml sequence diagrams.pdf ·...
TRANSCRIPT
![Page 1: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/1.jpg)
2IW80 Software specification and architecture
Interaction diagrams
Alexander Serebrenik
![Page 2: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/2.jpg)
Before we start
True or False?
a) Provided interface is represented by
b) Provided interface is represented by
c) Manifestation maps artifacts to nodes
![Page 3: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/3.jpg)
Before we start
True or False?
a) Provided interface is represented by
b) Provided interface is represented by
c) Manifestation maps artifacts to nodes
True
True
False
Manifestation maps artifacts to use
cases / classes / components /
packages, relation between artifacts
and nodes is called deployment
![Page 4: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/4.jpg)
Before we start
/ SET / W&I PAGE 3 24-2-2014
True or False?
a) Provided interface is represented by
b) Provided interface is represented by
c) Manifestation maps artifacts to nodes
d) b::C is accessible in h
e) b::D is accessible in h
h
e
a
C
F
b
F
C
D
<<import>>
![Page 5: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/5.jpg)
Before we start
/ SET / W&I PAGE 4 24-2-2014
True or False?
a) Provided interface is represented by
b) Provided interface is represented by
c) Manifestation maps artifacts to nodes
d) b::C is accessible in h
e) b::D is accessible in h
h
e
a
C
F
b
F
C
D
<<import>>
Yes
No
![Page 6: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/6.jpg)
This week sources
Slides by
David Meredith,
Aalborg University, DK
Marie-Elise Kontro,
Tampere University, FI
Site by
Kirill Fakhroutdinov
GE Healthcare, USA
![Page 7: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/7.jpg)
Missing link
• Use case diagram describes tasks that system must help
actors to perform
• Class diagram describes classes required to realize use
cases and relationships between these classes
• Interaction diagrams describe how objects interact to
realize the use case scenarios
• Interaction diagrams should be consistent with the
corresponding class diagrams and use case diagrams
/ SET / W&I PAGE 6 24-2-2014
![Page 8: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/8.jpg)
Interaction diagrams
/ SET / W&I PAGE 7 24-2-2014
Sequence
Diagram
Timing
Diagrams
Interaction Overview
Diagram
Communication
Diagram
![Page 9: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/9.jpg)
Sequence diagrams
• The most common kind of Interaction Diagrams
• shows how actors and objects interact to realize a use case
scenario
• focuses on the Message interchange between a number of
Lifelines
• You draw a sequence diagram if, e.g.:
• you have a use case diagram, to describe how the main
components of the system interact
• you have identified messages arriving at an interface of a
component, to describe how the internal parts of the
component interact.
![Page 10: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/10.jpg)
Sequence diagrams
• The most common kind of Interaction Diagrams
• shows how actors and objects interact to realize a use case
scenario
• focuses on the Message interchange between a number of
Lifelines
:A :B
participants: actors,
objects, etc. involved in the
use case
lifelines: represent the
“lifetime” of a participant
time
![Page 11: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/11.jpg)
Sequence diagrams
• The most common kind of Interaction Diagrams
• shows how actors and objects interact to realize a use case
scenario
• focuses on the Message interchange between a number of
Lifelines
:A :B
participants: actors,
objects, etc. involved in the
use case.
Notation object:Class
• :Class = anObject:Class
Kinds of participants:
• actor, class, database
• boundary, entity, control
lifelines: represent the
“lifetime” of a participant
time
http://i.stack.imgur.com/rQPvd.gif
![Page 12: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/12.jpg)
What are all these things?
• Boundary objects interface with actors.
• Entity objects represent system data, often from the domain.
• Control objects glue boundary elements and entity elements,
implementing the logic required to manage the various
elements and their interactions.
• Not every system should have boundary/entity/control objects.
/ SET / W&I PAGE 11 24-2-2014
![Page 13: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/13.jpg)
Back to sequence diagrams
• The most common kind of Interaction Diagrams
• shows how actors and objects interact to realize a use case
scenario
• focuses on the Message interchange between a number of
Lifelines
/ SET / W&I PAGE 12 24-2-2014
:A :B
msg1 A sends message msg2
to B and waits for B’s
response: synchronous
communication msg2
response,
return (optional)
![Page 14: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/14.jpg)
Sequence diagrams
• The most common kind of Interaction Diagrams
• shows how actors and objects interact to realize a use case
scenario
• focuses on the Message interchange between a number of
Lifelines
/ SET / W&I PAGE 13 24-2-2014
:A :B
msg1 Order of participants = order of the
first participation in the interaction
Most of the message sends on
arrows from left to right
msg2
response
![Page 15: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/15.jpg)
Sequence diagrams
• The most common kind of Interaction Diagrams
• shows how actors and objects interact to realize a use case
scenario
• focuses on the Message interchange between a number of
Lifelines
/ SET / W&I PAGE 14 24-2-2014
:A :B
msg1 When a message is
received by an object, a
new activation is started.
Activation is also known as
execution specification.
msg2
activation
![Page 16: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/16.jpg)
Sequence diagrams
• Can we have multiple activations of the same object?
/ SET / W&I PAGE 15 24-2-2014
:A :B
msg1 When a message is
received by an object, a
new activation is started msg2
activation
![Page 17: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/17.jpg)
Sequence diagrams
• Can we have multiple activations of the same object?
• Yes!
• Activation resulting from message to self is slightly offset
from older activation
/ SET / W&I PAGE 16 24-2-2014
:A :B
msg1
msg2
msg
![Page 18: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/18.jpg)
Sequence diagrams
If there is no concurrency, exactly one object is computing at
any given instant
• (Imaginary) horizontal line can cross only one “dark” area
:A :B
msg1
msg2
msg
![Page 19: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/19.jpg)
Sequence diagrams
If there is no concurrency, exactly one object is computing at
any given instant
• (Imaginary) horizontal line can cross only one “dark” area
• Activations behave as a stack
:A :B
msg1
msg2
msg
A2
A1
Actor
A1
Actor B
A1
Actor
![Page 20: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/20.jpg)
Sequence diagrams
If there is no concurrency, exactly one object is computing at
any given instant
• (Imaginary) horizontal line can cross only one “dark” area
• Activations behave as a stack
• Only actors can send messages “out of the blue”
− Objects send messages only when they have been made active by
receiving a message from another participant
:A :B
msg1
msg2
msg
A2
A1
Actor
A1
Actor B
A1
Actor
![Page 21: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/21.jpg)
What if we want concurrency?
Some communication might be asynchronous
:A :B
msg1
msg2
msg
![Page 22: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/22.jpg)
Question for you
• Messages are partially ordered (before/after)
• Response to msg should be
received before msg2 is sent.
• Why isn’t the order is total?
/ SET / W&I PAGE 21 24-2-2014
![Page 23: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/23.jpg)
Question for you
• Messages are partially ordered (before/after)
• Response to msg should be
received before msg2 is sent.
• Why isn’t the order is total?
• independent events on different
lifelines are not comparable
− e.g., concurrent execution
resulting from asynchronous messages
/ SET / W&I PAGE 22 24-2-2014
![Page 24: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/24.jpg)
Creating and destroying objects
/ SET / W&I PAGE 23 24-2-2014
:Girl
:Princess
getName()
Prince Charming
n = getName(): Cinderella
destroy()
new Princess(n)
Label: assignment of return value to a
variable; value returned shown after colon
Object destruction: synchronous message
to the object with an X-terminating lifeline
Creating a new object: asynchronous message
directly to the head of the new participant
![Page 25: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/25.jpg)
Optional behavior
:Girl
:Princess
getName()
Prince Charming
n = getName()
destroy()
new Princess(n)
Opt [n = Cinderella]
Continue with
organizing the wedding
This is an example of a
combined fragment
introduced by the
operator Opt (option).
In total there are 13
operators. We’ll see 9
of them. guard
![Page 26: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/26.jpg)
Combined fragments: loop and alternatives
/ SET / W&I PAGE 25 24-2-2014
http://ptgmedia.pearsoncmg.com/images/chap4_0321193687/elementLinks/04fig04.gif
loop is
potentially
infinite.
loop(10)
indicates 10
iterations.
![Page 27: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/27.jpg)
Combined fragments: loop and alternatives
/ SET / W&I PAGE 26 24-2-2014
http://ptgmedia.pearsoncmg.com/images/chap4_0321193687/elementLinks/04fig04.gif
One can also
break from the
loop.
break requires
a guard.
break quits only
one nesting
level.
![Page 28: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/28.jpg)
Combined fragments: par, seq and strict
• seq:
• Different lifelines: parallel
• The same lifeline: sequential
/ SET / W&I PAGE 27 24-2-2014
Search Google, Bing
and Ask in any order,
possibly parallel.
Search Google, Bing
and Yahoo in the strict
sequential order.
Search Google possibly
parallel with Bing and
Yahoo, but search Bing
before Yahoo.
![Page 29: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/29.jpg)
Par: shorthand
• Coregion: par-combined fragment with one lifeline
/ SET / W&I PAGE 28 24-2-2014
The two fragments are equivalent
![Page 30: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/30.jpg)
Combining different combined fragments
/ SET / W&I PAGE 29 24-2-2014
htt
p://w
ww
.um
l-d
iag
ram
s.o
rg/e
xa
mp
les/s
eq
ue
nce-e
xa
mp
les-o
nlin
e-b
ooksho
p.p
ng
• Coregion
• Option
• Loop
• Ref (interaction
use) allows to use
(or call) another
interaction.
![Page 31: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/31.jpg)
Interaction use
In general, referencing should be done as
DiagType DiagName [(ParType:ParName)] : [: RetValType]
• In practice, types are frequently omitted
• Checkout – no parameters, no return value
• Debit Account (accountNumber, amount) – parameters, no
return value
• Balance Lookup (accountNumber): Real – parameters,
return value
/ SET / W&I PAGE 30 24-2-2014
![Page 32: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/32.jpg)
Interaction use
/ SET / W&I PAGE 31 24-2-2014
![Page 33: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/33.jpg)
Alternative way to represent a return value
/ SET / W&I PAGE 32 24-2-2014
Gate: a message with
one end connected
to the sequence
diagram's frame and
the other end – to a
lifeline.
![Page 34: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/34.jpg)
Question for you
• How to model exception handling in sequence
diagram?
• NB: UML provides neither notation to model exception
handling in sequence diagrams nor any reasoning why it
is absent.
• Still, what would be your solution?
/ SET / W&I PAGE 33 24-2-2014
![Page 35: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/35.jpg)
Question for you
• How to model exception handling in sequence
diagram?
• NB: UML provides neither notation to model exception
handling in sequence diagrams nor any reasoning why it
is absent.
• Still, what would be your solution?
/ SET / W&I PAGE 34 24-2-2014
Combined fragments alt/break
![Page 36: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/36.jpg)
What about constraints?
• Constraint: boolean restriction on the participants of the
interaction, usually verified at run time.
/ SET / W&I PAGE 35 24-2-2014
Attribute t of Task should
have value “complete”
State Invariant
![Page 37: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/37.jpg)
What about constraints?
• Constraint: boolean restriction on the participants of the
interaction, usually verified at run time.
/ SET / W&I PAGE 36 24-2-2014
Attribute t of Task should
have value “complete”
State Invariant
A transaction on SavingsAccount is permitted
only if the balance remains positive.
![Page 38: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/38.jpg)
What about constraints?
• Constraint: boolean restriction on the participants of the
interaction, usually verified at run time.
/ SET / W&I PAGE 37 24-2-2014
Response time constraint
Timing constraints
Scheduling constraint
![Page 39: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/39.jpg)
What about constraints?
• Constraint: boolean restriction on the participants of the
interaction, usually verified at run time.
/ SET / W&I PAGE 38 24-2-2014
Prohibition: neg combined fragment
One cannot open
the microwave door
when it is cooking.
Also notice the “from
1 to time” loop.
http://www.zicomi.com/combinedFragmentNegative.jsp
![Page 40: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/40.jpg)
Summary of the combined fragments
Interaction operator of a combined fragment could be one of:
• alt – alternatives
• opt – option
• loop – iteration
• break – break
• par – parallel
• strict – strict sequencing
• seq – weak sequencing
• critical – critical region
• ignore – ignore
• consider – consider
• assert – assertion
• neg – negative
• ref – interaction use / SET / W&I PAGE 39 24-2-2014
4 operators in italics have
not been discussed.
You are welcome to read
about them in OMG UML
version 2.5, Section
17.6.3, pp. 609-611.
![Page 41: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/41.jpg)
Summary of the syntax
http://www.uml-diagrams.org/sequence-diagrams.html
![Page 42: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/42.jpg)
Recall…
• You draw a sequence diagram if, e.g.:
• you have a use case diagram, to describe how the main
components of the system interact
• you have identified messages arriving at an interface of a
component, to describe how the internal parts of the
component interact.
/ SET / W&I PAGE 41 24-2-2014
![Page 43: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/43.jpg)
Building sequence diagrams
• Set the context
• Identify participants that should interact to realize the use-
case scenario / to respond to messages arriving at the
interface.
• Place the initiator of the interaction on the left of the diagram
• Multiple objects of the same class: name each
• Set the lifeline for each participant
• Add messages by drawing arrows
• Order messages from left to right, top to bottom
• Show how they are passed from one object to another
• Include any parameters in parentheses
• Exclude obvious return values
• Add activations to each participant’s lifeline
• Validate the sequence diagram
/ SET / W&I PAGE 42 24-2-2014
![Page 44: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/44.jpg)
Validation
• Recall: Interaction diagrams should be consistent with the
corresponding class diagrams and use case diagrams
• Rule: Objects in [sd] should be instances of classes in [cd]
• Rule: Name of the message [sd] should match an operation
in the receiver’s class [cd]
ATM
+withdrawCash(accountNumber, amount)
http://www.ibm.com/developerworks/rational/library/3101.html
![Page 45: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/45.jpg)
Validation
• Recall: Interaction diagrams should be consistent with the
corresponding class diagrams and use case diagrams
• Rule: Objects in [sd] should be instances of classes in [cd]
• Rule: Name of the message [sd] should match an operation
in the receiver’s class [cd]
Girl
+name The message is
a getter!
![Page 46: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/46.jpg)
Validation
• Recall: Interaction diagrams should be consistent with the
corresponding class diagrams and use case diagrams
• Rule: Objects in [sd] should be instances of classes in [cd]
• Rule: Name of the message [sd] should match an operation
in the receiver’s class [cd]
• Rule: If a message is sent from A to B [sd] then there
should be an association from the class of A to the class of
B [cd]
• Rule: If use-case A generalizes use-case B [ucd] then the
sequence diagram of A should be a subgraph of the
sequence diagram of B [sd].
![Page 47: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/47.jpg)
Validation
• Recall: Interaction diagrams should be consistent with the
corresponding class diagrams and use case diagrams
• Briand et al. mention 120 consistency rules
• http://squall.sce.carleton.ca/pubs/tech_report/TR_SCE-03-01.pdf
• Active research domain around 2005
• Prototype implementations
• Inconsistency detection vs. inconsistency resolution
![Page 48: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/48.jpg)
Sequence diagrams as a specification technique?
Unambiguous?
Realistic?
Verifiable?
Evolvable?
/ SET / W&I PAGE 47 24-2-2014
![Page 49: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/49.jpg)
Sequence diagrams as a specification technique?
Unambiguous?
• more advanced features [seq, strict, …] are less clear (and
less popular) and might lead to ambiguity
• asynchronous communication is portrayed as if it was
simultaneous while it is not
is “Query” send before or after “Pressure” has been received?
before or after “Pressure” has been send?
/ SET / W&I PAGE 48 24-2-2014
[Sibertin-Blanc,
Hameurlain, Tahir 2008]
![Page 50: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/50.jpg)
Sequence diagrams as a specification technique?
Realistic?
• allows to model interaction, popular in the industry
Verifiable?
• interactions can be replayed through testing
• omissions and inconsistencies are hard to spot
• [Guerra, de Lara 2003] propose a formal verification
approach based on Petri nets, but only for a restricted
subclass of sequence diagrams
Evolvable?
• depends on the complexity/size
• affected by ambiguity
/ SET / W&I PAGE 49 24-2-2014
![Page 51: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/51.jpg)
Interaction diagrams
/ SET / W&I PAGE 50 24-2-2014
Sequence
Diagram
Timing
Diagrams
Interaction Overview
Diagram
Communication
Diagram
![Page 52: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/52.jpg)
Timing diagram
• Interaction diagram for reasoning about time
• Basic elements: lifelines, states, duration/time
constraints, destruction, events, messages
http://www.uml-diagrams.org/timing-diagrams-examples.html#alzheimers
lifeline
finite set of
discrete states
duration
constraints
destruction
![Page 53: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/53.jpg)
Timing diagram
• Interaction diagram for reasoning about time
• Basic elements: lifelines, states, duration/time
constraints, destruction, events, messages
duration
constraints
Compact
representation
with states and
durations
![Page 54: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/54.jpg)
Timing diagram
• Interaction diagram for reasoning about time
• Basic elements: lifelines, states, duration/time
constraints, destruction, events, messages
time
constraints
time observations
timing
ruler
http://www.jot.fm/issues/issue_2006_05/article2/
![Page 55: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/55.jpg)
Timing diagram
• Interaction diagram for reasoning about time
http://creately.com/blog/diagrams/uml-diagram-types-examples/#TimingDiagram
time
constraints
time observation
message
![Page 56: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/56.jpg)
Questions
Sketch a timing diagram for the following statements:
a) Ice should melt into water in 1 to 6 minutes.
b) Person should wake up between 5:40 am and 6 am.
c) Lifecycle of a virus: Dormant, Propagation, Triggering
and Execution.
/ SET / W&I PAGE 55 24-2-2014
![Page 57: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/57.jpg)
Questions
Sketch a timing diagram for the following statements:
a) Ice should melt into water in 1 to 6 minutes.
b) Person should wake up between 5:40 am and 6 am.
c) Lifecycle of a virus: Dormant, Propagation, Triggering
and Execution.
/ SET / W&I PAGE 56 24-2-2014
http://www.uml-diagrams.org/timing-diagrams.html
a) b) c)
![Page 58: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/58.jpg)
Timing diagrams as a specification technique?
Unambiguous?
Realistic?
Verifiable?
Evolvable?
/ SET / W&I PAGE 57 24-2-2014
![Page 59: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/59.jpg)
Timing diagrams as a specification technique?
Unambiguous?
• ranges on messages: do they refer to message being
send or being received?
Realistic?
• familiar to hardware engineers
• relatively unpopular [Reggio et al. MODELS 2013]
• have a restricted scope
• alternatives: timed events in state machines and activity
diagrams; durations and time intervals may appear in
sequence diagrams
/ SET / W&I PAGE 58 24-2-2014
![Page 60: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/60.jpg)
Timing diagrams as a specification technique?
Verifiable?
• Cui et al. (2010) convert timing diagrams to timed
automata and verify using UPPAAL
Evolvable?
• depends on the complexity/size
• can be affected by lack of popularity
/ SET / W&I PAGE 59 24-2-2014
![Page 61: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/61.jpg)
UML diagram types: popularity
/ SET / W&I PAGE 60 24-2-2014
100%
52%
80%
80% 70%
71% 98%
97%
82%
39%
40%
11%
96% 96%
![Page 62: Interaction diagrams - win.tue.nlaserebre/2IW80/2013-2014/06 - UML Sequence Diagrams.pdf · Sequence diagrams • The most common kind of Interaction Diagrams • shows how actors](https://reader031.vdocument.in/reader031/viewer/2022020122/5d2eaa8388c993893a8b7f7a/html5/thumbnails/62.jpg)
/ SET / W&I PAGE 61 24-2-2014