Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith...

17
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College

description

Smith’s Aerospace © P. Bailey & K. Vander Linden, Activity Diagrams ● Activity diagrams model activities as: – Actions – Transitions With additional features for decisions, forks, joins, etc. ● They use many of the same elements provided for state diagrams. Example adapted from Fowler, 2004

Transcript of Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith...

Page 1: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005

Procedural Activity

Patrick BaileyKeith Vander LindenCalvin College

Page 2: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

2

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Procedural Activity● Systems display procedural activity:

– Business work-flow– Data flow– Task behavior– Concurrent processes

● Potential modeling solutions:– Flow charts– State diagrams– Activity diagrams

Page 3: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

3

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Activity Diagrams● Activity diagrams

model activities as:– Actions– TransitionsWith additional features

for decisions, forks, joins, etc.

● They use many of the same elements provided for state diagrams.

Example adapted from Fowler, 2004

Fill Order

Regular Delivery

[else][priorityOrder]

Send Confirmation

Receive Payment

Receive Order

Send Invoice

Close Or der

Page 4: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

4

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Outline● History● Activity Diagrams● Examples● Using Activity Diagrams

Page 5: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

5

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

● 1962● Extended state

machines with token flow to represent concurrency

● UML 2.0 activity diagrams use token flow and a similar structure.

Carl Adam Petri (1926- )Petri-Nets

Images from www.informatik.uni-hamburg.de, August, 2005

Petri Net for 4 dining philosophers.

Page 6: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

6

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Actions● Actions represent an

encapsulated unit of activity.● They must have at least one

incoming and one outgoing transition.

● Actions can be implemented as:– Class methods– Code fragments– Sub-activities

Page 7: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

7

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Action Decomposition Actions can be

decomposed.

Finance

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Finance

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Finance

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Finance

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Page 8: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

8

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Signals Actions can

respond to and produce external signals:– Time signals– Other signals

Receiv e Pay ment

Signal Pay ment Conf irmat ion

Close Order

Receiv eOrder

Wait t il 4:00

Send Inv oice

Receiv e Pay ment

Signal Pay ment Conf irmat ion

Close Order

Receiv eOrder

Wait t il 4:00

Send Inv oice

Receiv e Pay ment

Signal Pay ment Conf irmat ion

Close Order

Receiv eOrder

Wait t il 4:00

Send Inv oice

Receiv e Pay ment

Signal Pay ment Conf irmat ion

Close Order

Receiv eOrder

Wait t il 4:00

Send Inv oice

Page 9: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

9

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Transitions● Transitions (aka. flows, edges)

are like state diagram transitions except that they are not event-driven by default.

● Behavior:– They transition in when all

incoming transitions join.– They transition out when their

action is complete.● Use connecters as a shorthand.

Page 10: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

10

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Data Flow● Transitions can

carry parameter objects.

● You can use pins to specify them.

Finance

Inv oiceReport

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Finance

Inv oiceReport

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Finance

Inv oiceReport

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Finance

Inv oiceReport

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Page 11: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

11

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Connectors Connectors come in

various forms:– Decision connectors

– Junction connectorsRegular Delivery

[else][priorityOrder]

Example adapted from Fowler, 2004

Page 12: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

12

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Synchronization Bars● Concurrency is modeled with

token flow in activity diagrams.● Tokens are:

– Created at initial nodes– Passed from action to action

during activities– Spawned at fork nodes– Joined a join nodes– Consumed at final nodes

● The token flow must be “balanced”.

Example adapted from Fowler, 2004

Fill Order

Regular Delivery

[else][priori tyOrder]

Send Confirmation

Receive Payment

Receive Order

Send Invoice

Close Or der

Page 13: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

13

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Termination States Termination states represent either

local or global termination, depending upon context.− Activity Final

− Flow Final

Page 14: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

14

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Partitions● Activity

diagrams don’t naturally specify agency.

● Use partitions (aka. swim lanes) to do this.

Example adapted from Fowler, 2004

Fil l Order

Overnight Delivery

Regular Delivery

[else][priori tyOrder]

Send Confirmation

[else][priori tyOrder]

Receive Payment

Receive Order

Send Invoice

Close Order

[else][priori tyOrder]

Fil l Order

Overnight Delivery

Regular Delivery

[else][priori tyOrder]

Send Confirmation

[else][priori tyOrder]

Receive Payment

Receive Order

Send Invoice

Close Order

[else][priori tyOrder]

Fil l Order

Overnight Delivery

Regular Delivery

[else][priori tyOrder]

Send Confirmation

[else][priori tyOrder]

Receive Payment

Receive Order

Send Invoice

Close Order

[else][priori tyOrder]

Fil l Order

Overnight Delivery

Regular Delivery

[else][priori tyOrder]

Send Confirmation

[else][priori tyOrder]

Receive Payment

Receive Order

Send Invoice

Close Order

[else][priori tyOrder]

Page 15: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

15

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Example: Parallel Algorithm

Example from Douglass, Real Time UML, 2004

Page 16: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

16

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Example: HCI

Page 17: Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.

17

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006

Using Activity Diagrams● Activity diagrams can represent:

– Concurrency– Inter-object procedural sequences

● They can be used to specify process for:– State activities (entry, exit, transition, do)– Use cases– Classes

● Real-time modeling uses them primarily for concurrent algorithm specification.