SlideShare a Scribd company logo
1 of 57
Download to read offline
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

What's hot

Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction ModelingHemant Sharma
 
3 interaction and_state_modeling
3 interaction and_state_modeling3 interaction and_state_modeling
3 interaction and_state_modelingMinal Maniar
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelAmr E. Mohamed
 
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Dr Sukhpal Singh Gill
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxAmr E. Mohamed
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7koolkampus
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes arvind pandey
 
SE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesSE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesAmr E. Mohamed
 
Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static ModelingSaurabh Kumar
 
Software Engineering: Models
Software Engineering: ModelsSoftware Engineering: Models
Software Engineering: ModelsDavid Millard
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagramsbarney92
 
Modeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and FunctionalModeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and FunctionalRajani Bhandari
 
Domain State model OOAD
Domain State model  OOADDomain State model  OOAD
Domain State model OOADRaghu Kumar
 

What's hot (20)

Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
 
Ch08
Ch08Ch08
Ch08
 
3 interaction and_state_modeling
3 interaction and_state_modeling3 interaction and_state_modeling
3 interaction and_state_modeling
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context Model
 
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
 
UML tutorial
UML tutorialUML tutorial
UML tutorial
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
SE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesSE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use Cases
 
Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static Modeling
 
Software Engineering: Models
Software Engineering: ModelsSoftware Engineering: Models
Software Engineering: Models
 
Uml Diagrams
Uml DiagramsUml Diagrams
Uml Diagrams
 
Functional modeling
Functional modelingFunctional modeling
Functional modeling
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
C++ Unit_01
C++ Unit_01C++ Unit_01
C++ Unit_01
 
System Modelling
System ModellingSystem Modelling
System Modelling
 
Modeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and FunctionalModeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and Functional
 
Interaction overview & Timing diagram
Interaction overview & Timing diagramInteraction overview & Timing diagram
Interaction overview & Timing diagram
 
Domain State model OOAD
Domain State model  OOADDomain State model  OOAD
Domain State model OOAD
 

Similar to SE18_Lec 10_ UML Behaviour and Interaction Diagrams

Lecture 13 requirements modeling - flow & behavior (2)
Lecture 13   requirements modeling - flow &  behavior (2)Lecture 13   requirements modeling - flow &  behavior (2)
Lecture 13 requirements modeling - flow & behavior (2)IIUI
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)Manoj Reddy
 
Unit three Advanced State Modelling
Unit three Advanced State ModellingUnit three Advanced State Modelling
Unit three Advanced State ModellingDr Chetan Shelke
 
Case tool lab-Reg2013 by Karthick Raja
Case tool lab-Reg2013 by Karthick RajaCase tool lab-Reg2013 by Karthick Raja
Case tool lab-Reg2013 by Karthick RajaursKarthick Raja
 
OOAD-Unit-3.ppt UML and ANALYSISI AND DESIGN
OOAD-Unit-3.ppt UML and ANALYSISI AND DESIGNOOAD-Unit-3.ppt UML and ANALYSISI AND DESIGN
OOAD-Unit-3.ppt UML and ANALYSISI AND DESIGNKalyaniLokhande5
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.pptRAJESH S
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8Dhairya Joshi
 
07 interaction diagrams
07 interaction diagrams07 interaction diagrams
07 interaction diagramsBaskarkncet
 

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

UML.pptx
UML.pptxUML.pptx
UML.pptx
 
Jar chapter 4, part 1
Jar chapter 4, part 1Jar chapter 4, part 1
Jar chapter 4, part 1
 
Sequence diagrams
Sequence diagramsSequence diagrams
Sequence diagrams
 
Lecture 13 requirements modeling - flow & behavior (2)
Lecture 13   requirements modeling - flow &  behavior (2)Lecture 13   requirements modeling - flow &  behavior (2)
Lecture 13 requirements modeling - flow & behavior (2)
 
Ooad 3
Ooad 3Ooad 3
Ooad 3
 
Chapter7
Chapter7Chapter7
Chapter7
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
Unit three Advanced State Modelling
Unit three Advanced State ModellingUnit three Advanced State Modelling
Unit three Advanced State Modelling
 
R1x g13 4 diagrams i
R1x g13 4 diagrams iR1x g13 4 diagrams i
R1x g13 4 diagrams i
 
Lecture 4.pdf
Lecture 4.pdfLecture 4.pdf
Lecture 4.pdf
 
Sequence Diagram
Sequence Diagram Sequence Diagram
Sequence Diagram
 
Sequence Diagram
Sequence Diagram Sequence Diagram
Sequence Diagram
 
Uml
UmlUml
Uml
 
Case tool lab-Reg2013 by Karthick Raja
Case tool lab-Reg2013 by Karthick RajaCase tool lab-Reg2013 by Karthick Raja
Case tool lab-Reg2013 by Karthick Raja
 
Uml 9
Uml 9Uml 9
Uml 9
 
OOAD-Unit-3.ppt UML and ANALYSISI AND DESIGN
OOAD-Unit-3.ppt UML and ANALYSISI AND DESIGNOOAD-Unit-3.ppt UML and ANALYSISI AND DESIGN
OOAD-Unit-3.ppt UML and ANALYSISI AND DESIGN
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
 
07 interaction diagrams
07 interaction diagrams07 interaction diagrams
07 interaction diagrams
 

More from Amr E. Mohamed

Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingDsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingAmr E. Mohamed
 
Dcs lec03 - z-analysis of discrete time control systems
Dcs   lec03 - z-analysis of discrete time control systemsDcs   lec03 - z-analysis of discrete time control systems
Dcs lec03 - z-analysis of discrete time control systemsAmr E. Mohamed
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transformAmr E. Mohamed
 
Dcs lec01 - introduction to discrete-time control systems
Dcs   lec01 - introduction to discrete-time control systemsDcs   lec01 - introduction to discrete-time control systems
Dcs lec01 - introduction to discrete-time control systemsAmr E. Mohamed
 
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsDDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter DesignDSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter DesignAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignDSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignAmr E. Mohamed
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsAmr E. Mohamed
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)Amr E. Mohamed
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsAmr E. Mohamed
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - IntroductionAmr E. Mohamed
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)Amr E. Mohamed
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier TransformDSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier TransformAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersDSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformDSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsDSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsAmr E. Mohamed
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignAmr E. Mohamed
 

More from Amr E. Mohamed (20)

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

Recently uploaded

CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture designssuser87fa0c1
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIkoyaldeepu123
 
DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage examplePragyanshuParadkar1
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 

Recently uploaded (20)

CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture design
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AI
 
DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage example
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 

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