SlideShare a Scribd company logo
1
2
 Structure Diagrams (Class diagrams) are used to describe
the static composition of components/Objects (i.e.,
constraints on what instances may exist at run-time).
 Deployment Diagrams are used to describe the mapping
between software artifacts and deployment targets.
 Why do objects exist?
 To perform an activity to help fulfill a system’s purpose
 What about modeling dynamic behavior?
3
 Interaction diagrams model how groups of object
collaborate to perform some behavior
 Typically captures the behavior of a single use case
 Behaviour Diagrams are used to describe the behaviour
 Of the whole application.
 Of a particular process in an application.
 Of a specific object in an application.
 The behavioral diagrams are categorized as follows:
 use case diagrams,
 interaction diagrams (Sequence & Communication),
 state–chart diagrams, and
 activity diagrams.
4
5
 Use Case: Manage Course Information (UC_ID1)
 Participating Actors: Course Administrator
 Entry Conditions: Course Administrator is logged into
Courseware
 Exit Conditions: Course Administrator has received an
acknowledgement from the system that the selected
transaction is complete, or if not complete, a message
explaining the failure
 Quality Requirements: (Performance) Course
Administrator receives a response from the system in less
than 3 seconds
 Related Requirements: Create, Modify, and Delete Course
 …
6
 Use Case: Order Entry
1) An Order Entry window sends a “prepare” message to an
Order.
2) The Order sends “prepare” to each Order Line on the
Order.
3) Each Order Line checks the given Stock Item.
4) Remove appropriate quantity of Stock Item from stock.
5) Create a deliver item.
 Alternative: Insufficient Stock
3a) if Stock Item falls below reorder level then Stock Item
requests reorder
7
 UML Specifies a number of interaction diagrams to
model dynamic aspects of the system
 Dynamic aspects of the system
 Messages moving among objects/classes
 Flow of control among objects
 Sequences of events
8
 Interaction Diagrams: Set of objects or roles and the
messages that can be passed among them.
 Sequence Diagrams:
• Illustrate object interactions arranged in time sequence
(Emphasize time ordering)
 Communication Diagrams (Collaboration Diagram):
• Illustrate object interactions organized around the objects
and their links to each other (Emphasize structural ordering).
9
10
 Describe the flow of messages, events, actions between
objects
 Show concurrent processes and activations
 Show time sequences that are not easily depicted in
other diagrams
 Typically used during analysis and design to document
and understand the logical flow of your system
Emphasis on time ordering!
11
12
Objects: aStudent is a specific
instance of the Student class
Specific instance
of an Object
Generic (unnamed)
objects
Generic (unnamed) objects of
class type Seminar and Course
13
TimeIncreasing
All lines should be horizontal to indicate instantaneous actions.
Additionally if ActivityA happens before ActivityB, ActivityA must be
above activityB
Lower = Later!
14
Execution
or
Activation Box
Life Line
15
Return value
Method call
16
c : Client
: Transaction
o : ODBCProxy
create()
setActions(a, b, c)
setValues(a, 3, 4)
setValues(b, c, 7)
(committed)
destroy()
Synchronous message
Asynchronous message
create()
destroy()
Return message
17
Synchronous message
Asynchronous message
Return message
There are problems
here… what are they?
18
19
20
21
 Rarely use options, loops, alt/else
 These constructs complicate a diagram and make them
hard to read/interpret.
 Frequently it is better to create multiple simple diagrams
 Create sequence diagrams for use cases when it helps
clarify and visualize a complex flow
 Remember: the goal of UML is communication and
understanding
22
 How to construct an SSD from a use case:
1. Draw black box and a life line, for every System object
(Sub-system) include as on right side
2. For each actor that directly operates on
the System, draw a stick figure and a lifeline.
3. For each System events that each actor generates in use
case, draw a message.
4. Optionally, include use case text to left of diagram.
23
 Sequence diagrams model object interactions with an
emphasis on time ordering
 Method call lines
 Must be horizontal!
 Vertical height matters!  “Lower equals Later”
 Label the lines
 Lifeline – dotted vertical line
 Execution bar – bar around lifeline when code is running
 Arrows
 Synchronous call (you’re waiting for a return value) – triangle
arrow-head
 Asynchronous call (not waiting for a return) – open arrow-
head
 Return call – dashed line
24
 To give an exam, an instructor first notifies the students
of the exam date and the material to be covered. She
then prepares the exam paper (with sample solutions),
gets it copied to produce enough copies for the class,
and hands it out to students on the designated time and
location. The students write their answers to exam
questions and hand in their papers to the instructor. The
instructor then gives the exam papers to the TAs, along
with sample solutions to each question, and gets them
to mark it. She then records all marks and returns the
papers to the students.
 Draw a sequence diagram that represents this process.
25
26
27
 Objects are rectangular icons
 e.g., Order Entry Window, Order, etc.
 Messages are arrows between icons
 e.g., prepare()
 Numbers on messages indicate sequence
 Also spatial layout helps show flow
 Which do you prefer: sequence or collaboration diagrams?
 Fowler now admits he doesn’t use collaboration diagrams
 Interaction diagrams show flow clearly, but are awkward
when modeling alternatives
 UML notation for control logic has changed in UML 2 but
Fowler isn’t impressed
28
29
30
 A statechart diagram - shows the behavior of classes in
response to external stimuli. This diagram models the
dynamic flow of control from state to state within a
system.
 State machine diagram - event-ordered behavior that
specifies the sequences of states an object/instance (of
class/interface/collaboration/…/system) goes through
during its lifetime; events trigger transitions and cause
responses.
 UML statecharts show states, transitions, events.
31
 A state diagram is a graph consisting of
 States (a mode of the entity).
simple states
composite states (nested state diagrams)
 State transitions connecting the states.
including events and actions.
 State – Constraint or condition or situation during which an
object/instance may perform some activity; The state of
an object is characterized by the value of one or more of
its attributes.
32
 Start state: State transition is executed immediately
during the creation of the object.
 Only possible event: create(parameter)
 Java: constructor (new)
 Final State: destruction of the object
33
 A transition connects two states and shows the flow of
control.
 A transition can include a triggering event, a guard and
actions to be executed.
 Transitions without event and guard are executed
immediately when an activity is finished respectively all sub
states were passed through.
34
 An event is a phenomenon in space and time significant
for the modeled system.
 An event can appear synchronously or asynchronously.
 Synchronous events:
• Call event: triggered by call
• Exception event: triggered by called object at return
 Asynchronous events:
• Signal event: signal sent by other object
• Change event: triggered by side effects on object
attributes
• Time event: spontaneously triggered by Boolean guard
over time
 An event can trigger state changes.
35
 Signals are asynchronous, i.e., the sender does not wait until
the receiver received the signal or reacted on it.
 A call event is triggered by a (synchronous) operation call.
 Call events are synchronous, i.e., the sender waits until the
receiver reacted on the event.
 In the state automaton signals and call events are
indistinguishable from each other.
 The receiver can:
 ignore the event (the event is lost),
 execute its trigger event or
 execute an operation.
36
 Represents the dispatch of an operation
 Name and parameter of the event must be compatible
to methods of the class.
37
 A time event appears after the expiration of a time
period.
 A change event occurs if a specific constraint is fulfilled.
The constraint is a Boolean
 Expression on the attributes of the actual object.
38
 Signals can be sent to other objects during a transition.
39
 Possible actions:
 send signal
 perform call
 perform access
40
 A state can be refined hierarchically by composite
states.
41
 In a state several sequences of sub states described by
own state machines can be performed concurrently.
42
43
44
45
46
 Activity Diagram – a special kind of Statechart diagram,
but showing the flow from activity to activity (not from
state to state).
 Can be attached to classes, interfaces, component nodes,
use cases, collaborations, and operations
 Is similar to a Data Flow Diagram (DFD)
 Activity state –non-atomic execution, ultimately result in
some action; a composite made up of other activity/action
states; can be represented by other activity diagrams
 Action state –atomic execution, results in a change in state
of the system or the return of a value (i.e., calling another
operation, sending a signal, creating or destroying an
object, or some computation); non-decomposable
47
action state
: CertificateOfOccupancy
[completed]
object flow
Select site
Commission
architect
Develop plan
Bid plan
Do site work( ) Do trade work( )
Finish
construction
initial state
sequential branch/decision
[not accepted]
[else]
final state
concurrent fork
activity state with submachine
concurrent join
triggerless transition
guard expression
optional
0..*
AND
one incoming, several outgoing
48
 A swimlane is a kind of package.
 Every activity belongs to exactly one swimlane, but transitions may
cross lanes.
 Object flow – objects connected using a dependency to the activity
or transition that creates, destroys, or modifies them
49
 A shorthand notation: use input pins and output pins (parameters).
Invoice inv;
inv = new Invoice;
FillOrder(inv);
50
<<precondition>> Order complete
<<postcondition>> Order closed
activity
parameter
node =
object node
51
Is this the same as the previous one?
52
 An interruptible activity region surrounds a group of actions that can
be interrupted.
 The Process Order action will execute until completion, then pass
control to the Close Order action, unless a Cancel Request interrupt
is received which will pass control to the Cancel Order action.
53
<<signal>>
redundant constraint
object
pin parameter
hour-glass symbol represents time
send receive
send receive
54

More Related Content

PPT
PPT
Use Case Diagram
PPT
System Models in Software Engineering SE7
PPT
Use case Diagram
PPT
Use case Diagram
PPTX
Object oriented modeling and design
PPT
Uml class-diagram
Use Case Diagram
System Models in Software Engineering SE7
Use case Diagram
Use case Diagram
Object oriented modeling and design
Uml class-diagram

What's hot (20)

PDF
SE_Lec 05_System Modelling and Context Model
PPTX
Unified process model
PPT
Unit 3(advanced state modeling & interaction meodelling)
PDF
Intelligent Agent PPT ON SLIDESHARE IN ARTIFICIAL INTELLIGENCE
PPTX
Object oriented methodologies
PPTX
DOC
Case Study Uml
PPT
Collaboration Diagram
PPTX
object oriented methodologies
PPT
11 deployment diagrams
PPTX
Ch5- Software Engineering 9
PPT
UML Diagrams
PPTX
Software process
PPTX
Overview of UML Diagrams
PPT
UML diagrams and symbols
PPTX
Uml Presentation
PPT
Uml diagrams
PDF
Rule Based Architecture System
PDF
CS8592-OOAD Lecture Notes Unit-3
PPTX
Context model
SE_Lec 05_System Modelling and Context Model
Unified process model
Unit 3(advanced state modeling & interaction meodelling)
Intelligent Agent PPT ON SLIDESHARE IN ARTIFICIAL INTELLIGENCE
Object oriented methodologies
Case Study Uml
Collaboration Diagram
object oriented methodologies
11 deployment diagrams
Ch5- Software Engineering 9
UML Diagrams
Software process
Overview of UML Diagrams
UML diagrams and symbols
Uml Presentation
Uml diagrams
Rule Based Architecture System
CS8592-OOAD Lecture Notes Unit-3
Context model
Ad

Viewers also liked (20)

PDF
Se2 lec 13 uml state machines
PDF
SE_Lec 02_Software Life Cycle Models
PDF
SE_Lec 01_ Introduction to Software Enginerring
PDF
SE_Lec 08_UML Use Cases
PDF
SE_Lec 03_Requirements Analysis and Specification
PDF
SE_Lec 00_ Software Engineering 1
PDF
SE_Lec 04_Agile Software Development
PDF
SE_Lec 11_ Project Management
PDF
SE2_Lec 19_Design Principles and Design Patterns
PDF
SE2018_Lec 16_ Architectural Design
PDF
Dsp foehu lec 01 - signals and systems
PDF
SE2_Lec 18_ Coding
PDF
SE_Lec 10_ Software Code of Ethics
PDF
SE_Lec 12_ Project Planning
PDF
UML TUTORIALS
PPTX
Unit 1- OOAD ppt
PDF
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
PPT
Uml report
PDF
Dsp foehu lec 00 - digital signal processing
Se2 lec 13 uml state machines
SE_Lec 02_Software Life Cycle Models
SE_Lec 01_ Introduction to Software Enginerring
SE_Lec 08_UML Use Cases
SE_Lec 03_Requirements Analysis and Specification
SE_Lec 00_ Software Engineering 1
SE_Lec 04_Agile Software Development
SE_Lec 11_ Project Management
SE2_Lec 19_Design Principles and Design Patterns
SE2018_Lec 16_ Architectural Design
Dsp foehu lec 01 - signals and systems
SE2_Lec 18_ Coding
SE_Lec 10_ Software Code of Ethics
SE_Lec 12_ Project Planning
UML TUTORIALS
Unit 1- OOAD ppt
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
Uml report
Dsp foehu lec 00 - digital signal processing
Ad

Similar to SE_Lec 09_ UML Behaviour Diagrams (20)

PDF
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
PPT
UnifedModeeqwewqeqweqwewqewqelingLanguage.ppt
PPT
Jar chapter 4, part 1
PPT
OOADPPT Lecture 5 The OOAD Presentation.pptx
DOCX
Case tool lab-Reg2013 by Karthick Raja
PPTX
Module 2 17CS45
PPT
2.2. Software cycle Models-System_Models.ppt
PPTX
UML.pptx
PPT
Chapter7
PPT
Lecture#03, uml diagrams
PPT
Object oriented analysis and design. SE 221
PDF
Lecture 4.pdf
PDF
3 interaction and_state_modeling
PPTX
08.Sequence Diagrams.pptx in cS to describe
PPT
4 Activity & Statechart diagram.ppt4 Activity & Statechart diagram.ppt4 Activ...
PPT
Jar chapter 4_part_ii
PPTX
Unit three Advanced State Modelling
PDF
OOSE UNIT-2.pdf
PPT
Introducing Uml And Development Process
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
UnifedModeeqwewqeqweqwewqewqelingLanguage.ppt
Jar chapter 4, part 1
OOADPPT Lecture 5 The OOAD Presentation.pptx
Case tool lab-Reg2013 by Karthick Raja
Module 2 17CS45
2.2. Software cycle Models-System_Models.ppt
UML.pptx
Chapter7
Lecture#03, uml diagrams
Object oriented analysis and design. SE 221
Lecture 4.pdf
3 interaction and_state_modeling
08.Sequence Diagrams.pptx in cS to describe
4 Activity & Statechart diagram.ppt4 Activity & Statechart diagram.ppt4 Activ...
Jar chapter 4_part_ii
Unit three Advanced State Modelling
OOSE UNIT-2.pdf
Introducing Uml And Development Process

More from Amr E. Mohamed (20)

PDF
Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
PDF
Dcs lec03 - z-analysis of discrete time control systems
PDF
Dcs lec02 - z-transform
PDF
Dcs lec01 - introduction to discrete-time control systems
PDF
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
PDF
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
PDF
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
PDF
SE2018_Lec 17_ Coding
PDF
SE2018_Lec-22_-Continuous-Integration-Tools
PDF
SE2018_Lec 21_ Software Configuration Management (SCM)
PDF
SE2018_Lec 18_ Design Principles and Design Patterns
PDF
Selenium - Introduction
PPTX
SE2018_Lec 20_ Test-Driven Development (TDD)
PDF
SE2018_Lec 19_ Software Testing
PDF
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
PDF
DSP_2018_FOEHU - Lec 05 - Digital Filters
PDF
DSP_2018_FOEHU - Lec 04 - The z-Transform
PDF
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
PDF
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
PDF
SE2018_Lec 15_ Software Design
Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dcs lec03 - z-analysis of discrete time control systems
Dcs lec02 - z-transform
Dcs lec01 - introduction to discrete-time control systems
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
SE2018_Lec 17_ Coding
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 18_ Design Principles and Design Patterns
Selenium - Introduction
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 19_ Software Testing
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
SE2018_Lec 15_ Software Design

Recently uploaded (20)

PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
top salesforce developer skills in 2025.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Essential Infomation Tech presentation.pptx
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Introduction to Artificial Intelligence
PDF
medical staffing services at VALiNTRY
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Transform Your Business with a Software ERP System
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
top salesforce developer skills in 2025.pdf
Design an Analysis of Algorithms I-SECS-1021-03
Which alternative to Crystal Reports is best for small or large businesses.pdf
Essential Infomation Tech presentation.pptx
Reimagine Home Health with the Power of Agentic AI​
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Introduction to Artificial Intelligence
medical staffing services at VALiNTRY
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PTS Company Brochure 2025 (1).pdf.......
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
L1 - Introduction to python Backend.pptx
Transform Your Business with a Software ERP System
How Creative Agencies Leverage Project Management Software.pdf
CHAPTER 2 - PM Management and IT Context
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Wondershare Filmora 15 Crack With Activation Key [2025
How to Choose the Right IT Partner for Your Business in Malaysia

SE_Lec 09_ UML Behaviour Diagrams

  • 1. 1
  • 2. 2  Structure Diagrams (Class diagrams) are used to describe the static composition of components/Objects (i.e., constraints on what instances may exist at run-time).  Deployment Diagrams are used to describe the mapping between software artifacts and deployment targets.  Why do objects exist?  To perform an activity to help fulfill a system’s purpose  What about modeling dynamic behavior?
  • 3. 3  Interaction diagrams model how groups of object collaborate to perform some behavior  Typically captures the behavior of a single use case  Behaviour Diagrams are used to describe the behaviour  Of the whole application.  Of a particular process in an application.  Of a specific object in an application.  The behavioral diagrams are categorized as follows:  use case diagrams,  interaction diagrams (Sequence & Communication),  state–chart diagrams, and  activity diagrams.
  • 4. 4
  • 5. 5  Use Case: Manage Course Information (UC_ID1)  Participating Actors: Course Administrator  Entry Conditions: Course Administrator is logged into Courseware  Exit Conditions: Course Administrator has received an acknowledgement from the system that the selected transaction is complete, or if not complete, a message explaining the failure  Quality Requirements: (Performance) Course Administrator receives a response from the system in less than 3 seconds  Related Requirements: Create, Modify, and Delete Course  …
  • 6. 6  Use Case: Order Entry 1) An Order Entry window sends a “prepare” message to an Order. 2) The Order sends “prepare” to each Order Line on the Order. 3) Each Order Line checks the given Stock Item. 4) Remove appropriate quantity of Stock Item from stock. 5) Create a deliver item.  Alternative: Insufficient Stock 3a) if Stock Item falls below reorder level then Stock Item requests reorder
  • 7. 7  UML Specifies a number of interaction diagrams to model dynamic aspects of the system  Dynamic aspects of the system  Messages moving among objects/classes  Flow of control among objects  Sequences of events
  • 8. 8  Interaction Diagrams: Set of objects or roles and the messages that can be passed among them.  Sequence Diagrams: • Illustrate object interactions arranged in time sequence (Emphasize time ordering)  Communication Diagrams (Collaboration Diagram): • Illustrate object interactions organized around the objects and their links to each other (Emphasize structural ordering).
  • 9. 9
  • 10. 10  Describe the flow of messages, events, actions between objects  Show concurrent processes and activations  Show time sequences that are not easily depicted in other diagrams  Typically used during analysis and design to document and understand the logical flow of your system Emphasis on time ordering!
  • 11. 11
  • 12. 12 Objects: aStudent is a specific instance of the Student class Specific instance of an Object Generic (unnamed) objects Generic (unnamed) objects of class type Seminar and Course
  • 13. 13 TimeIncreasing All lines should be horizontal to indicate instantaneous actions. Additionally if ActivityA happens before ActivityB, ActivityA must be above activityB Lower = Later!
  • 16. 16 c : Client : Transaction o : ODBCProxy create() setActions(a, b, c) setValues(a, 3, 4) setValues(b, c, 7) (committed) destroy() Synchronous message Asynchronous message create() destroy() Return message
  • 17. 17 Synchronous message Asynchronous message Return message There are problems here… what are they?
  • 18. 18
  • 19. 19
  • 20. 20
  • 21. 21  Rarely use options, loops, alt/else  These constructs complicate a diagram and make them hard to read/interpret.  Frequently it is better to create multiple simple diagrams  Create sequence diagrams for use cases when it helps clarify and visualize a complex flow  Remember: the goal of UML is communication and understanding
  • 22. 22  How to construct an SSD from a use case: 1. Draw black box and a life line, for every System object (Sub-system) include as on right side 2. For each actor that directly operates on the System, draw a stick figure and a lifeline. 3. For each System events that each actor generates in use case, draw a message. 4. Optionally, include use case text to left of diagram.
  • 23. 23  Sequence diagrams model object interactions with an emphasis on time ordering  Method call lines  Must be horizontal!  Vertical height matters!  “Lower equals Later”  Label the lines  Lifeline – dotted vertical line  Execution bar – bar around lifeline when code is running  Arrows  Synchronous call (you’re waiting for a return value) – triangle arrow-head  Asynchronous call (not waiting for a return) – open arrow- head  Return call – dashed line
  • 24. 24  To give an exam, an instructor first notifies the students of the exam date and the material to be covered. She then prepares the exam paper (with sample solutions), gets it copied to produce enough copies for the class, and hands it out to students on the designated time and location. The students write their answers to exam questions and hand in their papers to the instructor. The instructor then gives the exam papers to the TAs, along with sample solutions to each question, and gets them to mark it. She then records all marks and returns the papers to the students.  Draw a sequence diagram that represents this process.
  • 25. 25
  • 26. 26
  • 27. 27  Objects are rectangular icons  e.g., Order Entry Window, Order, etc.  Messages are arrows between icons  e.g., prepare()  Numbers on messages indicate sequence  Also spatial layout helps show flow  Which do you prefer: sequence or collaboration diagrams?  Fowler now admits he doesn’t use collaboration diagrams  Interaction diagrams show flow clearly, but are awkward when modeling alternatives  UML notation for control logic has changed in UML 2 but Fowler isn’t impressed
  • 28. 28
  • 29. 29
  • 30. 30  A statechart diagram - shows the behavior of classes in response to external stimuli. This diagram models the dynamic flow of control from state to state within a system.  State machine diagram - event-ordered behavior that specifies the sequences of states an object/instance (of class/interface/collaboration/…/system) goes through during its lifetime; events trigger transitions and cause responses.  UML statecharts show states, transitions, events.
  • 31. 31  A state diagram is a graph consisting of  States (a mode of the entity). simple states composite states (nested state diagrams)  State transitions connecting the states. including events and actions.  State – Constraint or condition or situation during which an object/instance may perform some activity; The state of an object is characterized by the value of one or more of its attributes.
  • 32. 32  Start state: State transition is executed immediately during the creation of the object.  Only possible event: create(parameter)  Java: constructor (new)  Final State: destruction of the object
  • 33. 33  A transition connects two states and shows the flow of control.  A transition can include a triggering event, a guard and actions to be executed.  Transitions without event and guard are executed immediately when an activity is finished respectively all sub states were passed through.
  • 34. 34  An event is a phenomenon in space and time significant for the modeled system.  An event can appear synchronously or asynchronously.  Synchronous events: • Call event: triggered by call • Exception event: triggered by called object at return  Asynchronous events: • Signal event: signal sent by other object • Change event: triggered by side effects on object attributes • Time event: spontaneously triggered by Boolean guard over time  An event can trigger state changes.
  • 35. 35  Signals are asynchronous, i.e., the sender does not wait until the receiver received the signal or reacted on it.  A call event is triggered by a (synchronous) operation call.  Call events are synchronous, i.e., the sender waits until the receiver reacted on the event.  In the state automaton signals and call events are indistinguishable from each other.  The receiver can:  ignore the event (the event is lost),  execute its trigger event or  execute an operation.
  • 36. 36  Represents the dispatch of an operation  Name and parameter of the event must be compatible to methods of the class.
  • 37. 37  A time event appears after the expiration of a time period.  A change event occurs if a specific constraint is fulfilled. The constraint is a Boolean  Expression on the attributes of the actual object.
  • 38. 38  Signals can be sent to other objects during a transition.
  • 39. 39  Possible actions:  send signal  perform call  perform access
  • 40. 40  A state can be refined hierarchically by composite states.
  • 41. 41  In a state several sequences of sub states described by own state machines can be performed concurrently.
  • 42. 42
  • 43. 43
  • 44. 44
  • 45. 45
  • 46. 46  Activity Diagram – a special kind of Statechart diagram, but showing the flow from activity to activity (not from state to state).  Can be attached to classes, interfaces, component nodes, use cases, collaborations, and operations  Is similar to a Data Flow Diagram (DFD)  Activity state –non-atomic execution, ultimately result in some action; a composite made up of other activity/action states; can be represented by other activity diagrams  Action state –atomic execution, results in a change in state of the system or the return of a value (i.e., calling another operation, sending a signal, creating or destroying an object, or some computation); non-decomposable
  • 47. 47 action state : CertificateOfOccupancy [completed] object flow Select site Commission architect Develop plan Bid plan Do site work( ) Do trade work( ) Finish construction initial state sequential branch/decision [not accepted] [else] final state concurrent fork activity state with submachine concurrent join triggerless transition guard expression optional 0..* AND one incoming, several outgoing
  • 48. 48  A swimlane is a kind of package.  Every activity belongs to exactly one swimlane, but transitions may cross lanes.  Object flow – objects connected using a dependency to the activity or transition that creates, destroys, or modifies them
  • 49. 49  A shorthand notation: use input pins and output pins (parameters). Invoice inv; inv = new Invoice; FillOrder(inv);
  • 50. 50 <<precondition>> Order complete <<postcondition>> Order closed activity parameter node = object node
  • 51. 51 Is this the same as the previous one?
  • 52. 52  An interruptible activity region surrounds a group of actions that can be interrupted.  The Process Order action will execute until completion, then pass control to the Close Order action, unless a Cancel Request interrupt is received which will pass control to the Cancel Order action.
  • 53. 53 <<signal>> redundant constraint object pin parameter hour-glass symbol represents time send receive send receive
  • 54. 54