Object Interaction Interaction Overview Diagrams Timing Diagrams Based
Object Interaction – Interaction Overview Diagrams Timing Diagrams Based on Chapter 09 Bennett, Mc. Robb and Farmer Object Oriented Systems Analysis and Design Using UML 4 th Edition, Mc. Graw Hill, 2010 © 2010 Bennett, Mc. Robb and Farmer 1
In This Lecture You Will Learn: • how to model interactions using interaction overview diagrams; • how to model interaction using an interaction sequence diagram; • how to use timing diagrams. © Bennett, Mc. Robb and Farmer 2005 2
Interaction Overview Diagrams • Variants of activity diagrams (see Ch 5) • Focuses on the flow of control in an interaction • Nodes in the diagram may be interactions or interaction occurrences • Interaction needs to be broken down into its key elements. © Bennett, Mc. Robb and Farmer 2005 3
Interaction Overview Diagrams • An alternative version of the sequence diagram Add a new advert to a campaign if within budget is shown on the next slide and is used to develop an interaction overview diagram © Bennett, Mc. Robb and Farmer 2005 4
sd Add a new advert to a campaign if within budget : Campaign. Manager : Client : Campaign : Advert get. Name list. Campaigns ref List client campaigns ref Get campaign budget add. Costed. Advert alt [total. Cost <= budget] ref Create advert [else] ref © Bennett, Mc. Robb and Farmer 2005 Create request 5
Interaction Fragment Used sd Get campaign budget : Campaign. Manager : Campaign : Advert check. Campaign. Budget loop [For all campaign’s adverts] get. Cost get. Overheads © Bennett, Mc. Robb and Farmer 2005 6
Interaction Fragment Used sd Create advert : Campaign : Advert new. Ad: Advert © Bennett, Mc. Robb and Farmer 2005 7
Interaction Fragment Used sd Create request : Campaign : Advert Request new. Request: Request © Bennett, Mc. Robb and Farmer 2005 8
sd Add a new advert to a campaign if within budget sd List Campaigns for Client : Campaign. Manager : Client get. Name : Campaign list. Campaigns loop [For all client’s campaigns] get. Campaign. Details Initial node ref Get campaign budget Interaction occurrence In-line sequence diagram sd Add costed advert : Campaign. Manager : Campaign add. Costed. Advert Decision [total. Cost <= budget] ref Create advert [total. Cost > budget] ref Create request 9 © Bennett, Mc. Robb and Farmer 2005 Final node
Timing Diagrams • A new feature in UML 2. 0 • Show time constraints affect interactions between lifelines • The sequence diagram Car enters car park is the basis for the subsequent timing diagram © Bennett, Mc. Robb and Farmer 2005 10
Timing Diagrams sd Car enters car park before: Weight. Sensor : Ticket. Machine activate : Barrier after: Weight. Sensor Lowered Active ticket. Requested raise. Barrier deactivate Raised lower. Barrier Blocked Lowered barrier. Lowered Inactive © Bennett, Mc. Robb and Farmer 2005 11
Timing Diagrams Sloped line represents duration of state change Diagram has two instances, one for each lifeline : Barrier sd Car enters car park lifelines : Barrier, : Ticket. Machine Raised Timing Constraint {t. . t+3 s} Lowered Message from one lifeline to another : Ticket. Machine barrier. Lowered Blocked raise. Barrier Active Inactive © Bennett, Mc. Robb and Farmer 2005 t 12
Model Consistency • Timing diagrams must be consistent with the relevant sequence diagrams and state machines. © Bennett, Mc. Robb and Farmer 2005 13
Summary In this lecture you have learned about: • how to model interactions using interaction overview diagrams; • how to model interaction using an interaction sequence diagram; • how to use timing diagrams. © Bennett, Mc. Robb and Farmer 2005 14
References • UML Reference Manual (OMG, 2009) • Bennett, Skelton and Lunn (2005) (For full bibliographic details, see Bennett, Mc. Robb and Farmer) © Bennett, Mc. Robb and Farmer 2005 15
- Slides: 15