gunnar Övergaard, bran selic, conrad...sequence diagram: change flight itinerary traveler : booking...
TRANSCRIPT
![Page 1: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/1.jpg)
Behavioral Modeling
Object Modeling with OMG UML Tutorial Series
Gunnar Övergaard, Bran Selic, Conrad Bock and Morgan Björkander
UML Revision Task Force
Behavioral Modeling with UML 1
© 1999-2001 OMG and Contributors: Crossmeta, EDS, IBM, Enea Data, Hewlett-Packard, IntelliCorp, Kabira Technologies, Klasse Objecten, Rational Software, Telelogic, Unisys
![Page 2: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/2.jpg)
Behavioral Modeling with UML 2
Overview
! Tutorial series! UML Quick Tour! Behavioral Modeling
! Part 1: Interactions and Collaborations! Gunnar Övergaard, Jaczone AB
! Part 2: Statecharts! Bran Selic, Rational Software! Morgan Björkander, Telelogic
! Part 3: Activity Graphs! Conrad Bock, Kabira Technologies
![Page 3: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/3.jpg)
Behavioral Modeling with UML 3
Tutorial Series
! Lecture 1: Introduction to UML: Structural and Use Case Modeling
! Lecture 2: Behavioral Modeling with UML
! Lecture 3: Advanced Modeling with UML
[Note: This version of the tutorial series is based on OMG UML Specification v. 1.4, UML Revision Task Force recommended final draft, OMG doc# ad/01-02-13.]
![Page 4: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/4.jpg)
Behavioral Modeling with UML 4
Tutorial Goals
! What you will learn:! what the UML is and what is it not! UML’s basic constructs, rules and diagram
techniques! how the UML can model large, complex systems! how the UML can specify systems in an
implementation-independent manner! how UML, XMI and MOF can facilitate metadata
integration! What you will not learn:
! Object Modeling! Development Methods or Processes! Metamodeling
![Page 5: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/5.jpg)
Behavioral Modeling with UML 5
! The UML is a graphical language for! specifying! visualizing! constructing! documenting
the artifacts of software systems! Added to the list of OMG adopted technologies in
November 1997 as UML 1.1! Most recent minor revision is UML 1.3, adopted in
November 1999! Next minor revision will be UML 1.4, planned to be
adopted in Q2 2001! Next major revision will be UML 2.0, planned to be
completed in 2002
Quick Tour
![Page 6: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/6.jpg)
Behavioral Modeling with UML 6
UML Goals
! Define an easy-to-learn but semantically rich visual modeling language
! Unify the Booch, OMT, and Objectory modeling languages
! Include ideas from other modeling languages! Incorporate industry best practices! Address contemporary software development issues
! scale, distribution, concurrency, executability, etc.! Provide flexibility for applying different processes! Enable model interchange and define repository
interfaces
![Page 7: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/7.jpg)
Behavioral Modeling with UML 7
OMG UML Evolution
<<document>>UML 1.1
<<document>>UML 1.2
<<document>>UML 1.3
<<refine>>
<<document>>UML 1.4
<<document>>UML 2.0
<<refine>>
<<refine>>
<<refine>>
Q3 1997(OMG AdoptedTechnology)
Q2 1998
Q3 1999
Q3 2000(planned minor revision)
2001(planned major revision)
Editorial revisionwith no significanttechnical changes.
ISO PubliclyAvailable
Specifications(PAS)
Other relevantstandards TBA
<<informalLiaison>>
<<formalLiaison>>
Unification of majormodeling languages,including Booch, OMTand Objectory
![Page 8: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/8.jpg)
Behavioral Modeling with UML 8
OMG UML 1.3 Specification
! UML Summary! UML Semantics! UML Notation Guide! UML Standard Profiles
! Software Development Processes! Business Modeling
! UML CORBAfacility Interface Definition! UML XML Metadata Interchange DTD! Object Constraint Language
![Page 9: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/9.jpg)
Behavioral Modeling with UML 9
Tutorial Focus: the Language
! language = syntax + semantics! syntax = language elements (e.g. words)
are assembled into expressions (e.g. phrases, clauses)
! semantics = the meanings of the syntactic expressions
! UML Notation Guide – defines UML’sgraphic syntax
! UML Semantics – defines UML’ssemantics
![Page 10: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/10.jpg)
Behavioral Modeling with UML 10
Unifying Concepts
! classifier-instance dichotomy! e.g. an object is an instance of a class OR
a class is the classifier of an object! specification-realization dichotomy
! e.g. an interface is a specification of a class ORa class is a realization of an interface
! analysis-time vs. design-time vs. run-time! modeling phases (“process creep”)! usage guidelines suggested, not enforced
![Page 11: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/11.jpg)
Behavioral Modeling with UML 11
Language Architecture
! Metamodel architecture! Package structure
![Page 12: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/12.jpg)
Behavioral Modeling with UML 12
Metamodel Architecture
<<metamodel>>MOF Meta-metamodel
<<metamodel>>UML Metamodel
User Model
:Foo
Meta-Metamodel Layer(M3): Specifies meta-metaclasses for theUML metamodel
Metamodel Layer (M2):Specifies metaclassesfor the UMLmetamodel, such asClass
Model Layer (M1): Specifiesclasses for the UML usermodels, such asPassenger, Ticket,TravelAgency
User Objects Layer (M0):User objects that areinstances of UML usermodel classes, such asinstances of Passenger,Ticket, TravelAgency
:Bar :Baz
![Page 13: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/13.jpg)
Behavioral Modeling with UML 13
Package Structure
<<metamodel>>UML
ModelManagement
BehavioralElements
Foundationpackage
dependency
![Page 14: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/14.jpg)
Behavioral Modeling with UML 14
Package Structure
Collaborations State Machines Activity Graphs
Behavioral Elements
Model Management
Foundation
Use Cases
Common Behavior
![Page 15: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/15.jpg)
Behavioral Modeling with UML 15
Behavioral Modeling
! Part 1: Interactions and Collaborations! Part 2: Statecharts! Part 3: Activity Diagrams
![Page 16: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/16.jpg)
Behavioral Modeling with UML 16
Interactions
! What are interactions?! Core concepts! Diagram tour! When to model interactions! Modeling tips! Example: A Booking System
![Page 17: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/17.jpg)
Behavioral Modeling with UML 17
What are interactions?
! Interaction: a collection of communications between instances, including all ways to affect instances, like operation invocation, as well as creation and destruction of instances
! The communications are partially ordered (in time)
![Page 18: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/18.jpg)
Behavioral Modeling with UML 18
Interactions: Core Elements
name
attr values
Instance (object, data value, component instance etc.)
An entity with a unique identity and to which a set of operations can be applied (signals be sent) and which has a state that stores the effects of the operations (the signals).
Action A specification of an executable statement.A few different kinds of actions are predefined, e.g. CreateAction, CallAction, DestroyAction, and UninterpretedAction.
Construct Description Syntax
textual
![Page 19: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/19.jpg)
Behavioral Modeling with UML 19
Interaction: Core Elements (cont’d)
Stimulus A communication between two instances.
Operation A declaration of a service that can be requested from an instance to effect behavior.
Construct Description Syntax
textual
A specification of an asynchronous stimulus communicated between instances.
Signal «Signal»Name
parameters
![Page 20: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/20.jpg)
Behavioral Modeling with UML 20
Interaction: Core Relationships
Link A connection between instances.
Attribute Link A named slot in an instance, which holds the value of an attribute.
Construct Description Syntax
textual
![Page 21: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/21.jpg)
Behavioral Modeling with UML 21
Example: Instance
triangle : Polygoncenter : Point = (2,2)vertices : Point* = ((0,0), (4, 0), (2,4))borderColor : Color = blackfillColor : Color = white
triangle : Polygon
triangle
: Polygon
underlined name
attribute links
![Page 22: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/22.jpg)
Behavioral Modeling with UML 22
Example: Instances and Links
Joe : Person Jill : Person
: Family
husband wife
![Page 23: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/23.jpg)
Behavioral Modeling with UML 23
Operation and Method
Triangle
+ move (in dist : Point)+ scale (in factor : Real)
foreach v in vertices dov.x := v.x + dist.x;v.y := v.y + dist.y
foreach v in vertices dov.x := factor * v.x;v.y := factor * v.y
![Page 24: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/24.jpg)
Behavioral Modeling with UML 24
Interaction Diagram Tour
! Show interactions between instances in the model! graph of instances (possibly including links)
and stimuli! existing instances! creation and deletion of instances
! Kinds! sequence diagram (temporal focus)! collaboration diagram (structural focus)
![Page 25: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/25.jpg)
Behavioral Modeling with UML 25
Interaction Diagrams
x y z
Sequence Diagram
a
b
c
Collaboration Diagram
x y
z
1.1: a1.2: c
1.1.1: b
![Page 26: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/26.jpg)
Behavioral Modeling with UML 26
Sequence Diagram
name : Classobject symbol
lifeline
activation
other
stimulus
name (…)
return
: Class
create
new (…)
delete
![Page 27: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/27.jpg)
Behavioral Modeling with UML 27
Arrow Label
predecessor sequence-expression return-value := message-name argument-list
3.7.4: move (5, 7)
A3, B4 / C3.1: res := getLocation (fig)
predecessor sequence numberreturn value message name argument list
move (5, 7)
3.7 *[1..5]: move (5, 7) iteration
3.7 [ z > 0 ]: move (5, 7) condition
![Page 28: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/28.jpg)
Behavioral Modeling with UML 28
Different Kinds of Arrows
Procedure call or other kind of nested flow of control
Flat flow of control
Explicit asynchronous flow of control
Return
UML 1.4: Asynchronous
UML 1.4: Variant of async
![Page 29: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/29.jpg)
Behavioral Modeling with UML 29
Example: Different Arrows
caller exchange callee
Flat Flow
lift receiver
dial tone
dial digit
dial digit
ringing tone ringing signal
lift receiver
teller : Order : Article
Nested Flow
getValue
price
getName
appl err handl alarm
Asynchronous Flow
unknown
alarm
UML 1.4: Asynchronous flowUML 1.4: Alternative notationfor async flow
![Page 30: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/30.jpg)
Behavioral Modeling with UML 30
Recursion, Condition, etc.
calculator filter value
[ x < 0]: transform ()
[ x > 0]: getValue ()
getValue ()
iterate ()
![Page 31: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/31.jpg)
Behavioral Modeling with UML 31
Collaboration Diagram
redisplay ()stimulus
1: displayPositions (window)
1.1 *[i := 1..n]: drawSegment (i)
: Controller : Window
wire :Wire{new}: Line
left : Bead right : Bead
1.1.1a: r0 := position () 1.1.1b: r1 := position ()
wire
«local» line
contents {new}
window
«self»
window «parameter»
1.1.2: create (r0, r1)1.1.3: display (window)
1.1.3.1 add (self)
object symbol link symbol
standard stereotype
standard stereotype
standard stereotype
standard constraint
standard constraint
![Page 32: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/32.jpg)
Behavioral Modeling with UML 32
When to Model Interactions
! To specify how the instances are to interact with each other.
! To identify the interfaces of the classifiers.
! To distribute the requirements.
![Page 33: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/33.jpg)
Behavioral Modeling with UML 33
Interaction Modeling Tips! Set the context for the interaction.! Include only those features of the instances
that are relevant.! Express the flow from left to right and from
top to bottom.! Put active instances to the left/top and
passive ones to the right/bottom.! Use sequence diagrams
! to show the explicit ordering between the stimuli! when modeling real-time
! Use collaboration diagrams ! when structure is important! to concentrate on the effects on the instances
![Page 34: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/34.jpg)
Behavioral Modeling with UML 34
Example: A Booking System
![Page 35: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/35.jpg)
Behavioral Modeling with UML 35
Use Case Description: Change Flt Itinerary
! Actors: traveler, client account db, airline reservation system
! Preconditions: Traveler has logged in! Basic course:
! Traveler selects ‘change flight itinerary’ option! System retrieves traveler’s account and flight itinerary from client account
database! System asks traveler to select itinerary segment she wants to change;
traveler selects itinerary segment.! System asks traveler for new departure and destination information;
traveler provides information.! If flights are available then …! …! System displays transaction summary.
! Alternative course:! If no flights are available then…
![Page 36: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/36.jpg)
Behavioral Modeling with UML 36
Sequence Diagram: Change Flight Itinerary
: Booking SystemTraveler Airline Reservation System
change flight itinerary
get customer account
get itinerarypresent itinerary
select segment
present detailed info
update informationavailable flight
::
Client Account DBMSClient Account DBMS
![Page 37: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/37.jpg)
Behavioral Modeling with UML 37
Collaboration Diagram: Change Flt Itinerary
Traveler Client Account DBMS
Airline Reservation System
: Booking System
7: update information
2: get customer account3: get itinerary
4: present itinerary
8: available flight
1: change flight itinerary5: select segment
6: present detailed info
![Page 38: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/38.jpg)
Behavioral Modeling with UML 38
Collaboration
! What is a collaboration?! Core concepts! Diagram tour! When to model collaborations! Modeling tips! Example: A Booking System
![Page 39: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/39.jpg)
Behavioral Modeling with UML 39
What is a collaboration?
! Collaboration: a collaboration defines the roles a set of instances play when performing a particular task, like an operation or a use case.
! Interaction:an interaction specifies a communication pattern to be performed by instances playing the roles of a collaboration.
![Page 40: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/40.jpg)
Behavioral Modeling with UML 40
Collaborations: Core Elements
Collaboration A collaboration describes how an operation or a classifier, like a use case, is realized by a set of classifiers and associations used in a specific way.The collaboration defines a set of roles to be played by instances and links, possibly including a collection of interactions.
Construct Description Syntax
Name
An interaction describes a communication pattern between instances when they play the roles of the collaboration.
Interaction
![Page 41: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/41.jpg)
Behavioral Modeling with UML 41
Collaborations: Core Elements (cont’d)
Collaboration-Instance
A collection of instances which together play the roles declared in a collaboration.
Construct Description Syntax
Name
A collection of stimuli exchanged between instances playing specific roles according to the communication pattern of an interaction.
Interaction-Instance
All new in UML 1.4
![Page 42: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/42.jpg)
Behavioral Modeling with UML 42
Collaborations: Core Elements (cont’d)
Classifier Role
A classifier role is a specific role played by a participant in a collaboration. It specifies a restricted view of a classifier, defined by what is required in the collaboration.
Message A message specifies one communication between instances. It is a part of the communication pattern given by an interaction.
Construct Description Syntax
/ Name
label
![Page 43: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/43.jpg)
Behavioral Modeling with UML 43
Collaborations: Core Relationships
Association Role
An association role is a specific usage of an association needed in a collaboration.
Generalization A generalization is a taxonomic relationship between a more general element and a more specific element. The more specific element is fully consistent with the more general element.
Construct Description Syntax
![Page 44: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/44.jpg)
Behavioral Modeling with UML 44
Classifier-Instance-Role Trichotomy
! An Instance is an entity with behavior and a state, and has a unqiue identity.
! A Classifier is a description of an Instance.
! A Classifier Role defines a usage (an abstraction) of an Instance.
id
ClassName
/ RoleName
«originates from»
«conforms to»
«view of»
![Page 45: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/45.jpg)
Behavioral Modeling with UML 45
Classifier-Instance-Role Trichotomy (cont’d)
ClassifierRoleClassifier
Operation-1 (…)Operation-2 (…)Operation-3 (…)
Attribute-1Attribute-2Attribute-3
InstanceAttributeValue-1AttributeValue-2AttributeValue-3
Operation-1 (…)Operation-3 (…)
Attribute-1Attribute-2
«originates from» «conforms to»
•The attribute values of an Instance corresponds to the attributes of its Classifier.•All attributes required by the ClassifierRole have corresponding attribute values in the Instance.•All operations defined in the Instance’s Classifier can be applied to the Instance.•All operations required by the ClassifierRole are applicable to the Instance.
![Page 46: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/46.jpg)
Behavioral Modeling with UML 46
Different Ways to Name a Role
/ ClassifierRoleName : ClassifierName
A role name is preceeded by a ‘/’
/ Parent : PersonExample: / Parent : Person
instanceName / ClassifierRoleName : ClassifierName
Charlie / Parent Charlie / Parent : Person
Charlie : PersonExample: : Person Charlie
A classifier name is preceeded by a ‘:’
![Page 47: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/47.jpg)
Behavioral Modeling with UML 47
Association and Association Role
Class-1 Class-2
«view of» «view of»«view of»
0..5
3..4
{changeable}
{frozen}/ Role-1 / Role-2
•An Association Role specifies the required properties of a Link used in a Collaboration.•The properties of an AssociationEnd may be restricted by a AssociationEndRole.
AssociationClass Class
AssociationRoleClassifierRole ClassifierRole
![Page 48: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/48.jpg)
Behavioral Modeling with UML 48
Example: A School
/ Teacher : Person / Student : Person
: Faculty : Course
position : Text program : Text1 tutor student *
faculty member *
faculty 1
1 lecturer
given course *participant *
taken course *
![Page 49: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/49.jpg)
Behavioral Modeling with UML 49
Role Model vs. Class Model
The Classes give the complete description while the Roles specify one usage.
/ Teacher : Person / Student : Person
: Faculty : Course
position : Text program : Text
Person
Faculty Course
name : Textposition : Textprogram : Text
1 *
1
* 1
* *
*
0..1
*
* **1
*
0..1
Extra attribute
Resulting multiplicity
Resulting multiplicity
Role Model Class Model
![Page 50: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/50.jpg)
Behavioral Modeling with UML 50
A Collaboration and Its Roles
CollaborationName
Classifier-1 Classifier-2
roleName-1roleName-2
roleName-3
A Collaboration and how its roles are mapped onto a collection of Classifiers and Associations.
![Page 51: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/51.jpg)
Behavioral Modeling with UML 51
Patterns in UML
Observer
CallQueue SlidingBarIcon
Subject Handler
queue : List of Callsource : ObjectwaitAlarm : Alarmcapacity : Integer
reading : Realcolor : Colorrange : Interval
Handler.reading = length (Subject.queue)Handler.range = {0..Subject.capacity}
Constraint that mustbe fulfilled in each instanceof this pattern.
![Page 52: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/52.jpg)
Behavioral Modeling with UML 52
Generalization Between Collaborations
ObserverCallQueue SlidingBarIconSubject Handler
SupervisorManagedQueue ControllerManagerSubject
•All roles defined in the parent are present in the child.•Some of the parent’s roles may be overridden in the child.•An overridden role is usually the parent of the new role.
![Page 53: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/53.jpg)
Behavioral Modeling with UML 53
Collaboration Diagram Tour
! Show Classifier Roles and Association Roles, possibly together with extra constraining elements
! Kinds! Instance level – Instances and Links! Specification level – Roles
! Static Diagrams are used for showing Collaborations explicitly
![Page 54: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/54.jpg)
Behavioral Modeling with UML 54
Collaboration Diagram at Specification Level
/ Teacher : Person / Student : Person
: Faculty : Course
position : Text program : Text
1 tutor student *
faculty 1
faculty member * 1 lecturer
given course * * taken course
* participant
UML 1.4: The diagram shows the contents of a Collaboration
![Page 55: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/55.jpg)
Behavioral Modeling with UML 55
Collaboration Diagram at Instance Level
John / Teacher
Alice / Student
Bob / Student
Sara / Teacher
: Faculty
English : Course
faculty member
faculty member
faculty
faculty
lecturer
tutor
tutor
student
student
given course
taken course taken course
participant
participant
UML 1.4: The diagram shows the contents of a CollaborationInstance
![Page 56: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/56.jpg)
Behavioral Modeling with UML 56
Collaborations including Interactions
x y z
Sequence Diagram
a
b
c
Collaboration Diagram
x y
z
1.1: a1.2: c
1.1.1: b
UML 1.4: The diagrams show the contents of a CollaborationInstance with an InteractionInstance superposed
![Page 57: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/57.jpg)
Behavioral Modeling with UML 57
Roles on Sequence Diagrams
/ X / Y / Z
Sequence Diagram
a
b
c
UML 1.4: The diagram shows the contents of a Collaboration with an Interaction superposed
![Page 58: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/58.jpg)
Behavioral Modeling with UML 58
Collaboration Diagram with Constraining Elements
/ Generator : Printer Device
: Laser Printer : Line Printer
Constraining Element(A Generalization is notan AssociationRole )
![Page 59: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/59.jpg)
Behavioral Modeling with UML 59
Static Diagram With Collaboration and Classifiers
ObserverCallQueue SlidingBarIconSubject Handler
SupervisorManagedQueue ControllerManagerSubject
![Page 60: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/60.jpg)
Behavioral Modeling with UML 60
When to Model Collaborations
! Use Collaborations as a tool to find the Classifiers.
! Trace a Use Case / Operation onto Classifiers.
! Map the specification of a Subsystem onto its realization (Tutorial 3).
![Page 61: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/61.jpg)
Behavioral Modeling with UML 61
Collaboration Modeling Tips
! A collaboration should consist of both structure and behavior relevant for the task.
! A role is an abstraction of an instance, it is not a class.
! Look for! initiators (external)! handlers (active)! managed entities (passive)
![Page 62: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/62.jpg)
Behavioral Modeling with UML 62
Example: A Booking System
![Page 63: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/63.jpg)
Behavioral Modeling with UML 63
Use Case Description: Change Flt Itinerary
! Actors: traveler, client account db, airline reservation system
! Preconditions: Traveler has logged in! Basic course:
! Traveler selects ‘change flight itinerary’ option! System retrieves traveler’s account and flight itinerary from client account
database! System asks traveler to select itinerary segment she wants to change;
traveler selects itinerary segment.! System asks traveler for new departure and destination information;
traveler provides information.! If flights are available then …! …! System displays transaction summary.
! Alternative course:! If no flights are available then…
![Page 64: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/64.jpg)
Behavioral Modeling with UML 64
Booking System: Change Flt Itinerary Collaboration
: Traveler : Client Account DBMS
: Airline Reservation System
/ Flight Itinerary Modifier
/ ARS Protocol
/ Flight Itenerary Form / DBMS Protocol
/ Itinerary/ Account
6: get itinerary
7: get itinerary1: change flight itinerary
10: present2: create modifier
5: create 8: create
3: get customer account
4: get customer account
9: display
![Page 65: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/65.jpg)
Behavioral Modeling with UML 65
Wrap Up: Interactions & Collaborations
! Instances, Links and Stimuli are used for expressing the dynamics in a model.
! Collaboration is a tool for! identification of classifiers! specification of the usage of instances! expressing a mapping between different
levels of abstraction
! Different kinds of diagrams focus on time or on structure
![Page 66: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/66.jpg)
Behavioral Modeling with UML 66
Behavioral Modeling
! Part 1: Interactions and Collaborations! Part 2: Statecharts! Part 3: Activity Diagrams
![Page 67: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/67.jpg)
Behavioral Modeling with UML 67
Overview
! Basic State Machine Concepts! Statecharts and Objects! Advanced Modeling Concepts! Case Study! Wrap Up
![Page 68: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/68.jpg)
Behavioral Modeling with UML 68
ONONON
Automata
! A machine whose output behavior is not only a direct consequence of the current input, but of some past history of its inputs
! Characterized by an internal state which represents this past experience
ONONONONONON ONONON
OFFOFFOFF
![Page 69: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/69.jpg)
Behavioral Modeling with UML 69
off
on
State Machine (Automaton) Diagram
! Graphical rendering of automata behavior
Lamp OnLamp OnLamp On
Lamp OffLamp OffLamp Off
off
on
![Page 70: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/70.jpg)
Behavioral Modeling with UML 70
Outputs and Actions
! As the automaton changes state it can generate outputs:
on
off
Lamp Onprint(”on”)Lamp OnLamp Onprint(”on”)print(”on”)
Lamp Off
Lamp Lamp OffOff
off
on
Moore automaton
on
off
Lamp On
Lamp Lamp OnOn
Lamp Off
Lamp Lamp OffOff
off
on/print(”on”)print(”on”)
Mealy automaton
![Page 71: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/71.jpg)
Behavioral Modeling with UML 71
Extended State Machines
! Addition of variables (“extended state”)
off
on
Lamp OnLamp OnLamp On
Lamp OffLamp OffLamp Off
off
on/ctr := ctr + 1
ctr : Integerctrctr : Integer: Integer
![Page 72: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/72.jpg)
Behavioral Modeling with UML 72
A Bit of Theory
! An extended (Mealy) state machine is defined by:! a set of input signals (input alphabet)! a set of output signals (output alphabet)! a set of states! a set of transitions
! triggering signal! action
! a set of extended state variables! an initial state designation! a set of final states (if terminating automaton)
![Page 73: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/73.jpg)
Behavioral Modeling with UML 73
top
Basic UML Statechart Diagram
ReadyReadyReady
stop
/ctr := 0stop
StateStateState
TriggerTriggerTrigger
ActionActionAction
Initial pseudostate
Initial Initial pseudostatepseudostate
TransitionTransitionTransition
Final stateFinal Final statestate
DoneDoneDone
“top” state“top” state“top” state
![Page 74: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/74.jpg)
Behavioral Modeling with UML 74
What Kind of Behavior?
! In general, state machines are suitable for describing event-driven, discrete behavior! inappropriate for modeling continuous
behavior
timetime
thresholdthreshold
![Page 75: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/75.jpg)
Behavioral Modeling with UML 75
Event-Driven Behavior
! Event = a type of observable occurrence! interactions:
! synchronous object operation invocation (call event)! asynchronous signal reception (signal event)
! occurrence of time instants (time event)! interval expiry! calendar/clock time
! change in value of some entity (change event)
! Event Instance = an instance of an event (type)! occurs at a particular time instant and has no
duration
![Page 76: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/76.jpg)
Behavioral Modeling with UML 76
The Behavior of What?
! In principle, anything that manifests event-driven behavior! NB: there is no support currently in UML
for modeling continuous behavior! In practice:
! the behavior of individual objects! object interactions
! The dynamic semantics of UML state machines are currently mainly specified for the case of active objects
![Page 77: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/77.jpg)
Behavioral Modeling with UML 77
Basic State Machine Concepts
Statecharts and Objects
Advanced Modeling Concepts
Case Study
Wrap Up
![Page 78: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/78.jpg)
Behavioral Modeling with UML 78
Object Behavior - General Model
! Simple server model:
HandleRequestHandleHandle
RequestRequest
InitializeObject
InitializeInitializeObjectObject
TerminateObject
TerminateTerminateObjectObject
Wait forRequestWait forWait forWait forRequestRequestRequest
void:offHook ();{busy = true;obj.reqDialtone();…};
Handling depends on specific request type
Handling depends on Handling depends on specific request typespecific request type
![Page 79: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/79.jpg)
Behavioral Modeling with UML 79
Object Behavior and State Machines
! Direct mapping:
HandleHandleEventEvent
InitializeInitializeObjectObject
TerminateTerminateObjectObject
Wait forWait forEventEvent
on
off
Lamp On
Lamp Lamp OnOn
Lamp Off
Lamp Lamp OffOff
off
on/print(”on”)
stop
![Page 80: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/80.jpg)
Behavioral Modeling with UML 80
HandleRequestHandleHandle
RequestRequest
InitializeObject
InitializeInitializeObjectObject
TerminateObject
TerminateTerminateObjectObject
Wait forRequest
Wait forWait forRequestRequest
HandleRequestHandleHandle
RequestRequest
InitializeObject
InitializeInitializeObjectObject
TerminateObject
TerminateTerminateObjectObject
Wait forRequest
Wait forWait forRequestRequest
Object and Threads
•Passive objects: depend on external power (thread of execution)•Active objects: self-powered (own thread of execution)
![Page 81: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/81.jpg)
Behavioral Modeling with UML 81
Passive Objects: Dynamic Semantics
•Encapsulation does not protect the object from concurrency conflicts!•Explicit synchronization is still required
HandleRequestHandleHandle
RequestRequest
InitializeObject
InitializeInitializeObjectObject
TerminateObject
TerminateTerminateObjectObject
Wait forRequest
Wait forWait forRequestRequest
![Page 82: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/82.jpg)
Behavioral Modeling with UML 82
anActiveObjectanActiveObject
##currentEventcurrentEvent : Event: Event
+ start ( )+ start ( )+ poll ( )+ poll ( )+ stop ( )+ stop ( )
Active Objects and State Machines
! Objects that encapsulate own thread of execution
created
ready
start/^master.ready()
poll/^master.ack()
stop/
poll/defer
ready
created
start start/^master.ready() ready
![Page 83: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/83.jpg)
Behavioral Modeling with UML 83
Active Objects: Dynamic Semantics
Run-to-completion model:•serialized event handling •eliminates internal concurrency•minimal context switching overhead
ActiveObject:
![Page 84: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/84.jpg)
Behavioral Modeling with UML 84
Active1Active1Active1 Active2Active2Active2
The Run-to-Completion Model
! A high priority event for (another) active object will preempt an active object that is handling a low-priority event
hihi
lo
![Page 85: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/85.jpg)
Behavioral Modeling with UML 85
Basic State Machine Concepts
Statecharts and Objects
Advanced Modeling Concepts
Case Study
Wrap Up
![Page 86: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/86.jpg)
Behavioral Modeling with UML 86
State Entry and Exit Actions
! A dynamic assertion mechanism
LampOnLampOnLampOnentry/lamp.on();
exit/lamp.off();
e1e1
e2e2
![Page 87: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/87.jpg)
Behavioral Modeling with UML 87
Resulting action sequence:printf(“exiting”);printf(“to off”);lamp.off();
Resulting action sequence:Resulting action sequence:printfprintf(“exiting”);(“exiting”);printfprintf(“to off”);(“to off”);lamp.off();lamp.off();
Order of Actions: Simple Case
! Exit actions prefix transition actions! Entry action postfix transition actions
printf(“exiting”);printf(“needless”);lamp.off();
printfprintf(“exiting”);(“exiting”);printfprintf(“needless”);(“needless”);lamp.off();lamp.off();
off/off/printfprintf(“needless”);(“needless”);
off/off/printfprintf(“to off”);(“to off”); LampOffLampOffLampOffentry/lamp.off();entry/lamp.off();
exit/exit/printfprintf(“exiting”);(“exiting”);
LampOnLampOnLampOnentry/lamp.on();entry/lamp.on();
exit/exit/printfprintf(“exiting”);(“exiting”);
![Page 88: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/88.jpg)
Behavioral Modeling with UML 88
Internal Transitions
! Self-transitions that bypass entry and exit actions
LampOffLampOffLampOffentry/lamp.off();entry/lamp.off();
exit/exit/printfprintf(“exiting”);(“exiting”);
off/null;
Internal transitiontriggered by an “off” event
Internal transitionInternal transitiontriggered by triggered by an “off” eventan “off” event
![Page 89: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/89.jpg)
Behavioral Modeling with UML 89
ErrorErrorErrorentry/entry/printfprintf(“error!”)(“error!”)
State (“Do”) Activities
! Forks a concurrent thread that executes until:! the action completes or! the state is exited through an outgoing
transition
do/while (true) alarm.ring();
“do” activity“do” activity“do” activity
![Page 90: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/90.jpg)
Behavioral Modeling with UML 90
Guards
! Conditional execution of transitions! guards (Boolean predicates) must be side-effect free
SellingSellingSelling
UnhappyUnhappyUnhappy
HappyHappyHappy
bid bid [(value >= 100) & (value < 200)] /sell/sell
bid bid [value >= 200] /sell/sell
bid bid [value < 100] /reject/reject
![Page 91: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/91.jpg)
Behavioral Modeling with UML 91
Static Conditional Branching
! Merely a graphical shortcut for convenient rendering of decision trees
[(value >= 100) & (value < 200)] /sell/sell
[value >= 200] /sell/sell[value < 100] /reject/reject
SellingSellingSelling
UnhappyUnhappyUnhappy
HappyHappyHappy
bidbid
![Page 92: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/92.jpg)
Behavioral Modeling with UML 92
bid /gain := calculatePotentialGain(value)
SellingSellingSelling
UnhappyUnhappyUnhappy
HappyHappyHappy
Dynamic Conditional Branching
! Choice pseudostate: guards are evaluated at the instant when the decision point is reached
[(gain >= 100) & (gain < 200)] /sell/sell
[gain >= 200] /sell/sell[gain < 100] /reject/reject
DynamicchoicepointDynamicDynamic
choicepointchoicepoint
![Page 93: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/93.jpg)
Behavioral Modeling with UML 93
Hierarchical State Machines
! Graduated attack on complexity! states decomposed into state machines
LampFlashingLampFlashingLampFlashingflash/flash/
1sec/1sec/1sec/1sec/
FlashOffFlashOffFlashOffentry/lamp.off()entry/lamp.off()
FlashOnFlashOnFlashOnentry/lamp.on()entry/lamp.on()off/off/
LampOffLampOffLampOffentry/lamp.off()entry/lamp.off()
LampOnLampOnLampOnentry/lamp.on()entry/lamp.on()
on/on/on/on/
on/on/
![Page 94: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/94.jpg)
Behavioral Modeling with UML 94
“Stub” Notation
! Notational shortcut: no semantic significance
LampFlashingLampFlashingLampFlashingflash/flash/
on/on/
FlashOnFlashOn
FlashOffFlashOff
off/off/
LampOffLampOffLampOffentry/lamp.off()entry/lamp.off()
LampOnLampOnLampOnentry/lamp.on()entry/lamp.on()
on/on/ on/on/
![Page 95: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/95.jpg)
Behavioral Modeling with UML 95
LampFlashingLampFlashingLampFlashing
1sec/1sec/1sec/1sec/
FlashOffFlashOffFlashOffentry/lamp.off()entry/lamp.off()
FlashOnFlashOnFlashOnentry/lamp.on()entry/lamp.on()off/off/
LampOffLampOffLampOffentry/lamp.off()entry/lamp.off()
LampOnLampOnLampOnentry/lamp.on()entry/lamp.on()
on/on/
Group Transitions
! Higher-level transitions
flash/flash/
on/on/
Default transition tothe initial pseudostateDefault transition toDefault transition to
the initial pseudostatethe initial pseudostate
Group transitionGroup transitionGroup transition
![Page 96: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/96.jpg)
Behavioral Modeling with UML 96
Completion Transitions
! Triggered by a completion event! generated automatically when an immediately
nested state machine terminates
CommittingCommittingCommitting
Phase1Phase1Phase1
Phase2Phase2Phase2CommitDoneCommitDoneCommitDone
completion transition (no trigger)
completion completion transition (no trigger)transition (no trigger)
![Page 97: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/97.jpg)
Behavioral Modeling with UML 97
LampFlashingLampFlashingLampFlashing
off/off/FlashOffFlashOffFlashOff
FlashOnFlashOnFlashOn
Triggering Rules
! Two or more transitions may have the same event trigger! innermost transition takes precedence! event is discarded whether or not it triggers a
transition
on/on/
![Page 98: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/98.jpg)
Behavioral Modeling with UML 98
Deferred Events
! Events can be retained if they do not trigger a transition
off/off/
LampOnLampOnLampOnentry/lamp.on()entry/lamp.on()
on/on/
LampOffLampOffLampOffentry/lamp.off()entry/lamp.off()
off/deferoff/defer
Deferred eventDeferred eventDeferred event
![Page 99: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/99.jpg)
Behavioral Modeling with UML 99
Order of Actions: Complex Case
! Same approach as for the simple case
S1exit/exS1
S1S1exit/exS1exit/exS1
S11exit/exS11
S11S11exit/exS11exit/exS11
S2entry/enS2
S2S2entry/enS2entry/enS2
S21entry/enS21
S21S21entry/enS21entry/enS21
initS2initS2E/E/actEactE
Actions execution sequence:
exS11 " exS1 " actE " enS2 " initS2 " enS21
![Page 100: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/100.jpg)
Behavioral Modeling with UML 100
suspend/suspend/
History
! Return to a previously visited hierarchical state! deep and shallow history options
DiagnosingDiagnosingDiagnosing
Diagnostic1Diagnostic1Diagnostic1
Step11Step11Step11
Step12Step12Step12
Diagnostic2Diagnostic2Diagnostic2
Step21Step21Step21
Step22Step22Step22resume/resume/H*H*H*
![Page 101: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/101.jpg)
Behavioral Modeling with UML 101
Orthogonality
! Multiple simultaneous perspectives on the same entity
ChildChild
AdultAdult
RetireeRetiree
ageage
PoorPoor
RichRich
financialStatusfinancialStatus
![Page 102: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/102.jpg)
Behavioral Modeling with UML 102
Orthogonal Regions
! Combine multiple simultaneous descriptions
ChildChild
AdultAdult
RetireeRetiree
ageage
PoorPoor
RichRich
financialStatusfinancialStatus
PoorPoor
RichRich
financialStatusfinancialStatus
ChildChild
AdultAdult
RetireeRetiree
ageage
![Page 103: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/103.jpg)
Behavioral Modeling with UML 103
OutlawOutlawOutlaw
LawAbidingLawAbidingLawAbiding PoorPoorPoor
RichRichRich
financialStatusfinancialStatuslegalStatuslegalStatus
Orthogonal Regions - Semantics
! All mutually orthogonal regions detect the same events and respond to them “simultaneously”! usually reduces to interleaving of some kind
robBankrobBank// robBankrobBank//
![Page 104: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/104.jpg)
Behavioral Modeling with UML 104
Catch22Catch22Catch22sanityStatussanityStatus flightStatusflightStatus
Interactions Between Regions
! Typically through shared variables or awareness of other regions’ state changes
(flying)/(flying)/
Crazyentry/sane := false;
CrazyCrazyentry/sane := false;entry/sane := false;
Saneentry/sane := true;
SaneSaneentry/sane := true;entry/sane := true;
requestrequestGrounding/Grounding/
Flyingentry/flying := true;
FlyingFlyingentry/flying := true;entry/flying := true;
Groundedentry/flying := false;
GroundedGroundedentry/flying := false;entry/flying := false;
(sane)/(sane)/
(~sane)/(~sane)/
sane : Booleansane : Booleansane : Boolean
flying : Booleanflying : Booleanflying : Boolean
![Page 105: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/105.jpg)
Behavioral Modeling with UML 105
Transition Forks and Joins
! For transitions into/out of orthogonal regions:
StaffMember
StaffStaffMemberMember
employeeemployee
ChildChildChild AdultAdultAdult RetireeRetireeRetiree
ageage
ManagerManagerManager
![Page 106: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/106.jpg)
Behavioral Modeling with UML 106
Common Misuse of Orthogonality
! Using regions to model independent objects
ChildChild
AdultAdult
RetireeRetiree
ChildChild
AdultAdult
RetireeRetiree
Person1Person1 Person2Person2
Person1Person1 Person2Person2
![Page 107: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/107.jpg)
Behavioral Modeling with UML 107
Basic State Machine Concepts
Statecharts and Objects
Advanced Modeling Concepts
Case Study
Wrap Up
![Page 108: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/108.jpg)
Behavioral Modeling with UML 108
line card 1line card 1
line card Nline card NEnd userEnd user
unreliable telecom lines
Case Study: Protocol Handler
! A multi-line packet switch that uses the alternating-bit protocol as its link protocol
SWITCHSWITCH
.
.
.
ABsender
ABreceiver
End user
End user
ABsender
ABreceiver
AB protocolAB protocolAB protocol
![Page 109: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/109.jpg)
Behavioral Modeling with UML 109
packetizer unpackerReceiverSender
Alternating Bit Protocol (1)
! A simple one-way point-to-point packet protocol
data(1)
ackA
pktAdata(1)
ack
ack
data(2)
ackB
pktBdata(2)
ack
ack…etc.
AB protocolAB protocolAB protocol
![Page 110: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/110.jpg)
Behavioral Modeling with UML 110
Alternating Bit Protocol (2)
! State machine specification
ackB/^ackdata/^pktA
ackA/^ack data/^pktB
timeout/^pktB
timeout/^pktA
Sender SM
AcceptPktA
WaitAckA
AcceptPktB
WaitAckB
pktA/^dataack/^ackA
pktB/^dataack/^ackB
timeout/^ackB
timeout/^ackA
RcvdPktA
WaitPktB
RcvdPktB
WaitPktA
Receiver SM
![Page 111: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/111.jpg)
Behavioral Modeling with UML 111
Additional Considerations
! Support (control) infrastructure
SWITCHSWITCH
ABABreceiverreceiver
ABABsendersender
operatoroperatorinterfaceinterface
DBDBinterfaceinterface
SystemSystemoperatoroperator
DBaseDBase
AB linesAB linesmanagermanager
![Page 112: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/112.jpg)
Behavioral Modeling with UML 112
Control
The set of (additional) mechanisms and actions required to bring a system into the desired operational state and to maintain it in that state in the face of various planned and unplanned disruptions
For software systems this includes:•system/component start-up and shut-down•failure detection/reporting/recovery•system administration, maintenance, and provisioning•(on-line) software upgrade
![Page 113: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/113.jpg)
Behavioral Modeling with UML 113
Retrofitting Control Behavior
AcceptPktA
WaitAckA
AcceptPktB
WaitAckB
Failed
JustCreated HardwareAudit
GettingData
ReadyToGo
AnalysingFailure
![Page 114: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/114.jpg)
Behavioral Modeling with UML 114
The Control Automaton
! In isolation, the same control behavior appears much simpler
Failed
JustCreated
HardwareAudit
GettingData
ReadyToGo
AnalysingFailure
OperationalOperational
![Page 115: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/115.jpg)
Behavioral Modeling with UML 115
Exploiting Inheritance
! Abstract control classes can capture the common control behavior
AbstractController
Sender Receiver . . .
![Page 116: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/116.jpg)
Behavioral Modeling with UML 116
Failed
JustCreated
HardwareAudit
GettingData
ReadyToGo
AnalysingFailure
OperationalOperational
Exploiting Hierarchical States
AbstractController
Sender
![Page 117: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/117.jpg)
Behavioral Modeling with UML 117
Basic State Machine Concepts
Statecharts and Objects
Advanced Modeling Concepts
Case Study
Wrap Up
![Page 118: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/118.jpg)
Behavioral Modeling with UML 118
Wrap Up: Statecharts
! UML uses an object-oriented variant of Harel’s statecharts! adjusted to software modeling needs
! Used to model event-driven (reactive) behavior! well-suited to the server model inherent in the
object paradigm! Primary use for modeling the behavior of
active event-driven objects! systems modeled as networks of collaborating
state machines! run-to-completion paradigm significantly simplifies
concurrency management
![Page 119: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/119.jpg)
Behavioral Modeling with UML 119
Wrap Up: Statecharts (cont’d)
! Includes a number of sophisticated features that realize common state-machine usage patterns:! entry/exit actions! state activities! dynamic and static conditional branching
! Also, provides hierarchical modeling for dealing with very complex systems! hierarchical states! hierarchical transitions! orthogonality
![Page 120: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/120.jpg)
Behavioral Modeling with UML 120
Behavioral Modeling
! Part 1: Interactions and Collaborations! Part 2: Statecharts! Part 3: Activity Diagrams
![Page 121: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/121.jpg)
Behavioral Modeling with UML 121
Activity Diagram Applications
! Intended for applications that need control flow or object/data flow models …
! ... rather than event-driven models like state machines.
! For example: business process modeling and workflow.
! The difference in the three models is how step in a process is initiated, especially with respect to how the step gets its inputs.
![Page 122: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/122.jpg)
Behavioral Modeling with UML 122
Control Flow
! Each step is taken when the previous one finishes …
! …regardless of whether inputs are available, accurate, or complete (“pull”).
! Emphasis is on order in which steps are taken.
Not UMLNotation! Chart CourseChart Course Cancel TripCancel Trip
Analyze Weather InfoAnalyze Weather Info
Weather InfoStart
![Page 123: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/123.jpg)
Behavioral Modeling with UML 123
Object/Data Flow
! Each step is taken when all the required input objects/data are available …
! … and only when all the inputs are available (“push”).
! Emphasis is on objects flowing between steps.
Design ProductDesign Product
ProcureMaterialsProcureMaterials
Acquire CapitalAcquire Capital
BuildSubassembly 1
BuildSubassembly 1
BuildSubassembly 2
BuildSubassembly 2
FinalAssembly
FinalAssembly
Not UMLNotation
![Page 124: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/124.jpg)
Behavioral Modeling with UML 124
State Machine
! Each step is taken when events are detected by the machine …
! … using inputs given by the event.! Emphasis is on reacting to environment.
Ready To StartReady To StartCoin
Deposited
Ready For OrderReady For OrderSelection
Made
DispenseProduct
DispenseProduct
ReturnChangeReturnChange
Cancel Button Pressed
Not UMLNotation
![Page 125: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/125.jpg)
Behavioral Modeling with UML 125
Activity Diagrams Based on State Machines
! Currently activity graphs are modeled as a kind of state machine.
! Modeler doesn't normally need to be aware of this sleight-of-hand ...
! ... but will notice that "state" is used in the element names.
! Activity graphs will become independent of state machines in UML 2.0.
![Page 126: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/126.jpg)
Behavioral Modeling with UML 126
! Just like their state machine counterparts (simple state and submachine state) except that ...
! ... transitions coming out of them are taken when the step is finished, rather than being triggered by a external event, ...
! ... and they support dynamic concurrency.
Kinds of Steps in Activity Diagrams
Action! Action (State)
Subactivity! Subactivity (State)
![Page 127: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/127.jpg)
Behavioral Modeling with UML 127
Action (State)
! An action is used for anything that does not directly start another activity graph, like invoking an operation on an object, or running a user-specified action.
! However, an action can invoke an operation that has another activity graph as a method (possible polymorphism).
Action
![Page 128: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/128.jpg)
Behavioral Modeling with UML 128
Subactivity (State)
! A subactivity (state) starts another activity graph without using an operation.
! Used for functional decomposition, non-polymorphic applications, like many workflow systems.
! The invoked activity graph can be used by many subactivity states.
Subactivity
![Page 129: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/129.jpg)
Behavioral Modeling with UML 129
Example
POEmployee.sortMail Deliver Mail
POEmployee
sortMail() Check OutTruck
Put MailIn Boxes
Deliver Mail
![Page 130: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/130.jpg)
Behavioral Modeling with UML 130
POEmployee
sortMail()
Activity Graph as Method
! Application is completely OO when all action states invoke operations
! All activity graphs are methods for operations.
POEmployee.sortMail POEmployee.deliverMail
deliverMail()«realize»
Check OutTruck
Put MailIn Boxes
PO Employee Deliver Mail Method
![Page 131: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/131.jpg)
Behavioral Modeling with UML 131
Dynamic concurrency
! Applies to actions and subactivities.
! Not inherited from state machines.
! Invokes an action or subactivity any number of times in parallel, as determined by an expression evaluated at runtime. Expression also determines arguments.
! Upper right-hand corner shows a multiplicity restricting the number of parallel invocations.
! Outgoing transition triggered when all invocations are done.
! Currently no standard notation for concurrency expression or how arguments are accessed by actions. Attach a note as workaround for expression. Issue for UML 2.0.
Action/Subactivity *
![Page 132: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/132.jpg)
Behavioral Modeling with UML 132
Object Flow (State)
! A special sort of step (state) that represents the availability of a particular kind of object, perhaps in a particular state.
! No action or subactivity is invoked and control passes immediately to the next step (state).
! Places constraints on input and output parameters of steps before and after it.
Class[State]
![Page 133: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/133.jpg)
Behavioral Modeling with UML 133
Object Flow (State)
! Take Order must have an output parameter giving an order, or one of its subtypes.
! Fill Order must have an input parameter taking an order, or one of its supertypes.
! Dashed lines used with object flow have the same semantics as any other state transition.
Order[Taken]Take Order Fill Order
![Page 134: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/134.jpg)
Behavioral Modeling with UML 134
Coordinating Steps
! Initial state
! Final state
! Fork and join
! Inherited from state machines
![Page 135: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/135.jpg)
Behavioral Modeling with UML 135
! Decision point and merge ( ) are inherited from state machines.
! For modeling conventional flow chart decisions.
Coordinating Steps
CalculateCost
ChargeAccount
GetAuthorization
[cost < $50]
[cost >= $50]
![Page 136: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/136.jpg)
Behavioral Modeling with UML 136
! Synch state ( ) is inherited from state machines but used mostly in activity graphs.
! Provides communication capability between parallel processes.
Coordinating Steps
State machinenotation
InspectInstallFoundation
BuildFrame
InstallElectricity
in Foundation
PutOn
Roof
InstallElectricityIn Frame
InstallElectricityOutside
InstallWalls
* *
![Page 137: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/137.jpg)
Behavioral Modeling with UML 137
Convenience Features (Synch State)
! Forks and joins do not require composite states.
! Synch states may be omitted for the common case (unlimited bound and one incoming and outgoing transition).
BuildFrame
InstallFoundation
InstallElectricity
in Foundation
PutOn
Roof
InstallElectricityIn Frame
InstallElectricityOutside
InstallWalls
Inspect
Activity diagramnotation
![Page 138: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/138.jpg)
Behavioral Modeling with UML 138
Convenience Features (Synch State)
! Object flow states can be synch states
Obj[S2]
A11 A12 A13
A21 A22 A23
![Page 139: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/139.jpg)
Behavioral Modeling with UML 139
Convenience Features
! Fork transitions can have guards.
RegisterBug
EvaluateImpact
FixBug
RevisePlan
ReleaseFix
TestFix
[ priority = 1]
RegisterBug
EvaluateImpact
FixBug
RevisePlan
ReleaseFix
TestFix
[ priority = 1]
[else]
! Instead of doing this:
![Page 140: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/140.jpg)
Behavioral Modeling with UML 140
Convenience Features
! Partitions are a grouping mechanism.! Swimlanes are the notation for partitions.! They do not provide domain-specific semantics.! Tools can generate swimlane presentation from
domain-specific information without partitions.
RegisterBug
EvaluateImpact
FixBug
RevisePlan
ReleaseFix
TestFix
[ priority = 1]
Management
Support
Engineering
![Page 141: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/141.jpg)
Behavioral Modeling with UML 141
Convenience Features
! Signal send icon
Signal
CoffeePot
Wake Up
Get Cups
Turn on Coffee Pot
Coffee Done
Drink Coffee
Signal
! … translates to a transition with a send action.
! Signal receipt icon
! … translates to a wait state (a state with no action and a signal trigger event).
![Page 142: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/142.jpg)
Behavioral Modeling with UML 142
Case
Stu
dypartition
Submission Team Task Force Revision Task Force
Issue RFP
Evaluate initialsubmissions
Submitspecification
draft
Collaborate withcompetitivesubmitters
Developtechnology
specification
action state
RFP[issued]
[optional]
control flow
Finalizespecification
Specification[initial
proposal]
input value
Begin
object flow
initial state
join of controlconditionalfork
fork of control
Specification[final
proposal]
Adap
ted
from
Kobr
yn, “
UM
L 20
01”
Com
mun
icat
ions
of t
he A
CM
Oct
ober
199
9
![Page 143: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/143.jpg)
Behavioral Modeling with UML 143
Case
Stu
dyAd
apte
d fro
mKo
bryn
, “U
ML
2001
”C
omm
unic
atio
ns o
f the
AC
MO
ctob
er 1
999
Evaluate initialsubmissions
Evaluate finalsubmissions
Vote torecommend
Enhancespecification
Implementspecification
Revisespecification
Finalizespecification
Specification[final
proposal]
Specification[adopted]
Recommendrevision
Specification[revised]
[NO][YES]
[else] [Enhanced]
decision
final state
guard
Collaborate withcompetitivesubmitters
![Page 144: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/144.jpg)
Behavioral Modeling with UML 144
When to Use Activity Diagrams
! Use activity diagrams when the behavior you are modeling ...! does not depend much on external events.! mostly has steps that run to completion,
rather than being interrupted by events. ! requires object/data flow between steps.! is being constructed at a stage when you
are more concerned with which activities happen, rather than which objects are responsible for them (except partitions possibly).
![Page 145: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/145.jpg)
Behavioral Modeling with UML 145
Activity Diagram Modeling Tips
! Control flow and object flow are not separate. Both are modeled with state transitions.
! Dashed object flow lines are also control flow.
! You can mix state machine and control/object flow constructs on the same diagram (though you probably do not want to).
![Page 146: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/146.jpg)
Behavioral Modeling with UML 146
Activity Diagram Modeling Tips
RequestReturn
Get ReturnNumber
Ship Item
Item[returned]
ReceiveItem
RestockItem
CreditAccount
Item[available]
Customer Telesales WarehouseAccountingFrom UMLUser Guide:
![Page 147: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/147.jpg)
Behavioral Modeling with UML 147
Activ
ity M
odel
ing
Tips
RequestReturn
Get ReturnNumber
Ship Item
Item[returned]
ReceiveItem
RestockItem
CreditAccount Item
[available]
Customer Telesales WarehouseAccounting
![Page 148: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/148.jpg)
Behavioral Modeling with UML 148
Activity Diagram Modeling Tips
! Activity diagrams inherit from state machines the requirement for well-structured nesting of composite states.
! This means you should either model as if composite states were there by matching all forks/decisions with a correspond join/merges …
! … or check that the diagram can be translated to one that is well-nested.
! This insures that diagram is executable under state machine semantics.
![Page 149: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/149.jpg)
Behavioral Modeling with UML 149
Activity Diagram Modeling Tips
Well-nested:
![Page 150: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/150.jpg)
Behavioral Modeling with UML 150
Not well-nested:
Activity Diagram Modeling Tips
Apply structured coding principles. (Be careful with goto’s!)
![Page 151: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/151.jpg)
Behavioral Modeling with UML 151
Activity Diagram Modeling Tips
Can be translated to well-nesteddiagram on earlier slide:
![Page 152: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/152.jpg)
Behavioral Modeling with UML 152
Wrap Up: Activity Diagrams
! Use Activity Diagrams for applications that are primarily control and data-driven, like business modeling …
! … rather than event-driven applications like embedded systems.
! Activity diagrams are a kind of state machine until UML 2.0 …
! … so control and object/data flow do not have separate semantics.
! UML 1.3 has new features for business modeling that increase power and convenience. Check it out and give feedback!
![Page 153: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/153.jpg)
Behavioral Modeling with UML 153
Preview - Next Tutorial
! Advanced Modeling with UML! Model management! Standard elements and profiles! Object Constraint Language (OCL)
![Page 154: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/154.jpg)
Behavioral Modeling with UML 154
References
! [UML 1.3] OMG UML Specification v. 1.3, OMG doc# ad/06-08-99
! [UML 1.4] OMG UML Specification v. 1.4, UML Revision Task Force recommended final draft, OMG doc# ad/01-02-13.
![Page 155: Gunnar Övergaard, Bran Selic, Conrad...Sequence Diagram: Change Flight Itinerary Traveler : Booking System Airline Reservation System change flight itinerary get customer account](https://reader035.vdocuments.net/reader035/viewer/2022071301/609a86ca8b01a4546c3aeb4a/html5/thumbnails/155.jpg)
Behavioral Modeling with UML 155
Further Info! Web:
! UML 1.4 RTF: www.celigent.com/omg/umlrtf! OMG UML Tutorials: www.celigent.com/omg/umlrtf/tutorials.htm! UML 2.0 Working Group:
www.celigent.com/omg/adptf/wgs/uml2wg.htm! OMG UML Resources: www.omg.org/uml/
! Email! [email protected]! Contributors:
! Gunnar Övergaard: [email protected]! Bran Selic: [email protected]! Conrad Bock: [email protected]! Morgan Björkander: [email protected]
! Conferences & workshops! UML World 2001, New York, June 11-14, 2001! UML 2001, Toronto, Canada, Oct. 1-5, 2001! OMG UML Workshop 2001, San Francisco, Dec. 3-6, 2001