1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007
2 Outline Activity diagrams: Actions and subactivity states Transitions Decisions, forks, and joins Swimlanes and object flows Signals Basic statecharts: Syntax States Transitions Events
3 Activity Diagrams: Actions & Subactivities. Actitivity diagrams: Actitivity diagrams: A form of “OO flowcharts,” a particular case of statecharts A form of “OO flowcharts,” a particular case of statecharts Attached to modeling elements to describe behavior Attached to modeling elements to describe behavior Typically related to use cases, classes, components, collaborations, operations & methods Typically related to use cases, classes, components, collaborations, operations & methods Contain actions (atomic, uninterruptible, instantaneous) and sub-activities (non-atomic, interruptible, may take time) Contain actions (atomic, uninterruptible, instantaneous) and sub-activities (non-atomic, interruptible, may take time) Examples of actions, Fig [Arlow & Neustadt]: Examples of actions, Fig [Arlow & Neustadt]:
4 Activity Diagrams:.Actions & Subactivities Actions: Start and stop states, Fig [Arlow & Neustadt, 2002] Subactivities: Examples, Fig [Arlow & Neustadt, 2002]
5 Activity Diagrams: Transitions Transitions in activity diagrams, Fig [Arlow &Neustadt, 2002] Transitions in activity diagrams occur when the states finish their work
6 Activity Diagrams: Decisions Decisions in activity diagrams, Fig [Arlow & Neustadt, 2002]
7 Activity Diagrams: Forks and Joins Fig [Arlow & Neustadt, 2002] Activity diagrams allow modeling concurrent workflows
8 Activity Diagrams: Swimlanes Fig [Arlow & Neustadt, 2002] Swimlanes are typically used for use cases, business modeling, and workflow modeling
9 Activity Diagrams: Object Flows Fig [Arlow & Neustadt, 2002] Activities may input and output objects and may modify object states
10 Activity Diagrams: Signals Fig [Arlow & Neustadt, 2002] A signal is a package of information transferred asynchronously between objects
11 Statecharts There are two main modeling elements in statecharts: states and transitions. Example of a simple state machine, Fig [Arlow & Neustadt]
12 Statecharts: Syntax Summary of UML state syntax, Fig.19.3 [Arlow & Neustadt, 2002]
13 Statecharts: Transitions Summary of UML transition syntax, Fig.19.4 [Arlow & Neustadt, 2002] Where: Event = internal or external occurrence that triggers the transition Guard condition = boolean expression, when true transition allowed Action = some operation that takes place when the transition fires
14 Statecharts: Events…. Events can be of four types: Call event Signal event Change event Time event
15 Statecharts:.Events… Example of a call event, Fig.19.6 [Arlow & Neustadt, 2002]
16 Statecharts:..Events.. Example of signal event Fig.19.7 [Arlow & Neustadt, 2002] Modeling the receipt a signal Fig.19.8 [Arlow & Neustadt, 2002]
17 Statecharts: …Events. Example of a change event, Fig.19.9 [Arlow & Neustadt, 2002]
18 Statecharts: ….Events Example of a time event, Fig [Arlow & Neustadt, 2002]
19 Statecharts: What next? An advanced statechart [Ch. 20, Fig. 20.4, Arlow & Neustadt, 2002]
20 Extra: Analysis classes vs. Design classes Fig.15.2 [Arlow & Neustadt, 2002]