SlideShare a Scribd company logo
1
‫ر‬َ‫ـد‬ْ‫ق‬‫ِـ‬‫ن‬،،،‫لما‬‫اننا‬ ‫نصدق‬ْْ‫ق‬ِ‫ن‬‫ر‬َ‫د‬
Faculty of Engineering - Helwan University
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
 This simple microwave has a switch to select full or half
power, a numeric keypad to input the cooking time, a
start/stop button, and an alphanumeric display.
 I have assumed that the sequence of actions in using the
microwave is:
1. Select the power level (either half power or full power).
2. Input the cooking time using a numeric keypad.
3. Press Start and the food is cooked for the given time.
 For safety reasons, the oven should not operate when the
door is open and, on completion of cooking, a buzzer is
sounded.
 The oven has a very simple alphanumeric display that is
used to display various alerts and warning messages.
44
State Description
Waiting The oven is waiting for input. The display shows the current time.
Half power The oven power is set to 300 watts. The display shows ‘Half power’.
Full power The oven power is set to 600 watts. The display shows ‘Full power’.
Set time
The cooking time is set to the user’s input value. The display shows the
cooking time selected and is updated as the time is set.
Disabled
Oven operation is disabled for safety. Interior oven light is on. Display
shows ‘Not ready’.
Enabled
Oven operation is enabled. Interior oven light is off. Display shows
‘Ready to cook’.
Operation
Oven in operation. Interior oven light is on. Display shows the timer
countdown. On completion of cooking, the buzzer is sounded for five
seconds. Oven light is on. Display shows ‘Cooking complete’ while
buzzer is sounding.
45
Stimulus Description
Half power The user has pressed the half-power button.
Full power The user has pressed the full-power button.
Timer The user has pressed one of the timer buttons.
Number The user has pressed a numeric key.
Door open The oven door switch is not closed.
Door closed The oven door switch is closed.
Start The user has pressed the Start button.
Cancel The user has pressed the Cancel button.
46
47
 The problem with state-based modeling is that the number of
possible states increases rapidly. For large system models,
therefore, you need to hide detail in the models. One way to do this
is by using the notion of a super-state that encapsulates a number
of separate states. This super-state looks like a single state on a
high-level model but is then expanded to show more detail on a
separate diagram.
48
49
50
51
 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
52
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
53
 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
54
 A shorthand notation: use input pins and output pins (parameters).
Invoice inv;
inv = new Invoice;
FillOrder(inv);
55
<<precondition>> Order complete
<<postcondition>> Order closed
activity
parameter
node =
object node
56
 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.
57

More Related Content

PDF
Artificial Neural Network Abstract
PDF
Contact management system
PPTX
Data Transfer & Manipulation.pptx
PPTX
Vector space model of information retrieval
PPTX
Mining single dimensional boolean association rules from transactional
PPTX
Sentiment analysis
DOCX
Online votingsystem
PPTX
Database Management System, Lecture-1
Artificial Neural Network Abstract
Contact management system
Data Transfer & Manipulation.pptx
Vector space model of information retrieval
Mining single dimensional boolean association rules from transactional
Sentiment analysis
Online votingsystem
Database Management System, Lecture-1

What's hot (20)

PPT
Memory & the fetch decode-execute cycle
PPTX
Chart and graphs in R programming language
PPTX
Direct linking loaders
PPTX
Seminar on detecting fake accounts in social media using machine learning
PDF
DBMS unit-5.pdf
PPTX
Detecting Fake News Through NLP
PDF
Fundamentals of Database Systems Questions and Answers
PPTX
Cache Memory And Virtual Memory in computer architecture
PDF
Hand Gesture Recognition using Neural Network
PPTX
Training & Placement Database Management System
PDF
Web Technology Lab files with practical
DOCX
Problem statements
PDF
Blood bank management system
PPTX
Data modeling
PPTX
Single accumulator based CPU.pptx
PDF
HOSPITAL MANAGEMENT SYSTEM PROJECT
PDF
Hospital management synopsis
PPTX
Assembly language
PPTX
Classification and prediction in data mining
PPTX
Autobahn primer
Memory & the fetch decode-execute cycle
Chart and graphs in R programming language
Direct linking loaders
Seminar on detecting fake accounts in social media using machine learning
DBMS unit-5.pdf
Detecting Fake News Through NLP
Fundamentals of Database Systems Questions and Answers
Cache Memory And Virtual Memory in computer architecture
Hand Gesture Recognition using Neural Network
Training & Placement Database Management System
Web Technology Lab files with practical
Problem statements
Blood bank management system
Data modeling
Single accumulator based CPU.pptx
HOSPITAL MANAGEMENT SYSTEM PROJECT
Hospital management synopsis
Assembly language
Classification and prediction in data mining
Autobahn primer
Ad

Similar to SE18_Lec 10_ UML Behaviour and Interaction Diagrams (20)

PDF
SE_Lec 09_ UML Behaviour Diagrams
PPTX
UML.pptx
PPT
Jar chapter 4, part 1
PDF
Sequence diagrams
PPT
Lecture 13 requirements modeling - flow & behavior (2)
PPTX
PPT
Chapter7
PPT
Unit 3(advanced state modeling & interaction meodelling)
PDF
CS8592-OOAD Lecture Notes Unit-3
PPTX
Unit three Advanced State Modelling
PPTX
R1x g13 4 diagrams i
PDF
Lecture 4.pdf
PDF
Sequence Diagram
PPTX
Sequence Diagram
DOCX
Case tool lab-Reg2013 by Karthick Raja
PPT
PPT
2.2. Software cycle Models-System_Models.ppt
PPT
OOAD-Unit-3.ppt UML and ANALYSISI AND DESIGN
PPTX
Activity Diagram, State Transition Diagram, Collaboration Diagram
SE_Lec 09_ UML Behaviour Diagrams
UML.pptx
Jar chapter 4, part 1
Sequence diagrams
Lecture 13 requirements modeling - flow & behavior (2)
Chapter7
Unit 3(advanced state modeling & interaction meodelling)
CS8592-OOAD Lecture Notes Unit-3
Unit three Advanced State Modelling
R1x g13 4 diagrams i
Lecture 4.pdf
Sequence Diagram
Sequence Diagram
Case tool lab-Reg2013 by Karthick Raja
2.2. Software cycle Models-System_Models.ppt
OOAD-Unit-3.ppt UML and ANALYSISI AND DESIGN
Activity Diagram, State Transition Diagram, Collaboration Diagram
Ad

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)

PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Construction Project Organization Group 2.pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPT
Project quality management in manufacturing
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
composite construction of structures.pdf
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
Geodesy 1.pptx...............................................
DOCX
573137875-Attendance-Management-System-original
PPTX
web development for engineering and engineering
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
CH1 Production IntroductoryConcepts.pptx
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Embodied AI: Ushering in the Next Era of Intelligent Systems
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Construction Project Organization Group 2.pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Project quality management in manufacturing
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
composite construction of structures.pdf
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Geodesy 1.pptx...............................................
573137875-Attendance-Management-System-original
web development for engineering and engineering

SE18_Lec 10_ UML Behaviour and Interaction Diagrams

  • 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  This simple microwave has a switch to select full or half power, a numeric keypad to input the cooking time, a start/stop button, and an alphanumeric display.  I have assumed that the sequence of actions in using the microwave is: 1. Select the power level (either half power or full power). 2. Input the cooking time using a numeric keypad. 3. Press Start and the food is cooked for the given time.  For safety reasons, the oven should not operate when the door is open and, on completion of cooking, a buzzer is sounded.  The oven has a very simple alphanumeric display that is used to display various alerts and warning messages.
  • 44. 44 State Description Waiting The oven is waiting for input. The display shows the current time. Half power The oven power is set to 300 watts. The display shows ‘Half power’. Full power The oven power is set to 600 watts. The display shows ‘Full power’. Set time The cooking time is set to the user’s input value. The display shows the cooking time selected and is updated as the time is set. Disabled Oven operation is disabled for safety. Interior oven light is on. Display shows ‘Not ready’. Enabled Oven operation is enabled. Interior oven light is off. Display shows ‘Ready to cook’. Operation Oven in operation. Interior oven light is on. Display shows the timer countdown. On completion of cooking, the buzzer is sounded for five seconds. Oven light is on. Display shows ‘Cooking complete’ while buzzer is sounding.
  • 45. 45 Stimulus Description Half power The user has pressed the half-power button. Full power The user has pressed the full-power button. Timer The user has pressed one of the timer buttons. Number The user has pressed a numeric key. Door open The oven door switch is not closed. Door closed The oven door switch is closed. Start The user has pressed the Start button. Cancel The user has pressed the Cancel button.
  • 46. 46
  • 47. 47  The problem with state-based modeling is that the number of possible states increases rapidly. For large system models, therefore, you need to hide detail in the models. One way to do this is by using the notion of a super-state that encapsulates a number of separate states. This super-state looks like a single state on a high-level model but is then expanded to show more detail on a separate diagram.
  • 48. 48
  • 49. 49
  • 50. 50
  • 51. 51  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
  • 52. 52 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
  • 53. 53  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
  • 54. 54  A shorthand notation: use input pins and output pins (parameters). Invoice inv; inv = new Invoice; FillOrder(inv);
  • 55. 55 <<precondition>> Order complete <<postcondition>> Order closed activity parameter node = object node
  • 56. 56  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.
  • 57. 57