procedural activity

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

Upload: tiger-lancaster

Post on 30-Dec-2015

68 views

Category:

Documents


0 download

DESCRIPTION

Procedural Activity. Patrick Bailey Keith Vander Linden Calvin College. Procedural Activity. Systems display procedural activity: Business work-flow Data flow Task behavior Concurrent processes Potential modeling solutions: Flow charts State diagrams Activity diagrams. - PowerPoint PPT Presentation

TRANSCRIPT

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

Procedural Activity

Patrick BaileyKeith Vander LindenCalvin 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

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

Overnight Delivery

Regular Delivery

[else][priori tyOrder]

Send Confirmation

Receive Payment

Receive Order

Send Invoice

Close Order

4

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

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

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.

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

Receive Order

7

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

Action Decomposition Actions can be

decomposed.

Warehouse

DeliverOrder

Send Conf irmation

Fill Order

Finance

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Warehouse

DeliverOrder

Send Conf irmation

Fill Order

Finance

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Warehouse

DeliverOrder

Send Conf irmation

Fill Order

Finance

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Warehouse

DeliverOrder

Send Conf irmation

Fill Order

Finance

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

8

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

Signals Actions can

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

Warehouse

DeliverOrder

Send Conf irmat ion

Wait f or deliv ery conf irmat ion

Fill Order

Finance

Receiv e Pay ment

Signal Pay ment Conf irmat ion

CustomerServ ice

Close Order

Receiv eOrder

Wait t il 4:00

Send Inv oice

Warehouse

DeliverOrder

Send Conf irmat ion

Wait f or deliv ery conf irmat ion

Fill Order

Finance

Receiv e Pay ment

Signal Pay ment Conf irmat ion

CustomerServ ice

Close Order

Receiv eOrder

Wait t il 4:00

Send Inv oice

Warehouse

DeliverOrder

Send Conf irmat ion

Wait f or deliv ery conf irmat ion

Fill Order

Finance

Receiv e Pay ment

Signal Pay ment Conf irmat ion

CustomerServ ice

Close Order

Receiv eOrder

Wait t il 4:00

Send Inv oice

Warehouse

DeliverOrder

Send Conf irmat ion

Wait f or deliv ery conf irmat ion

Fill Order

Finance

Receiv e Pay ment

Signal Pay ment Conf irmat ion

CustomerServ ice

Close Order

Receiv eOrder

Wait t il 4:00

Send Inv oice

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.

Send Invoice

Receive Payment

10

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

Data Flow● Transitions can

carry parameter objects.

● You can use pins to specify them.

Warehouse

DeliverOrder

Send Conf irmation

Fill Order

Finance

Inv oiceReport

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Warehouse

DeliverOrder

Send Conf irmation

Fill Order

Finance

Inv oiceReport

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Warehouse

DeliverOrder

Send Conf irmation

Fill Order

Finance

Inv oiceReport

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

Warehouse

DeliverOrder

Send Conf irmation

Fill Order

Finance

Inv oiceReport

Receive Pay ment

CustomerServ ice

Receive Order

Close Order

Send Inv oice

11

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

Connectors Connectors come in

various forms:– Decision connectors

– Junction connectors

Fill Order

Overnight Delivery

Regular Delivery

[else][priorityOrder]

Example adapted from Fowler, 2004

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

Overnight Delivery

Regular Delivery

[else][priori tyOrder]

Send Confirmation

Receive Payment

Receive Order

Send Invoice

Close Order

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

Close Order

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

Warehouse

Fil l Order

Overnight Delivery

Regular Delivery

[else][priorityOrder]

Send Confirmation

[else][priorityOrder]

Finance

Receive Payment

CustomerService

Receive Order

Send Invoice

Close Order

[else][priorityOrder]

Warehouse

Fil l Order

Overnight Delivery

Regular Delivery

[else][priorityOrder]

Send Confirmation

[else][priorityOrder]

Finance

Receive Payment

CustomerService

Receive Order

Send Invoice

Close Order

[else][priorityOrder]

Warehouse

Fil l Order

Overnight Delivery

Regular Delivery

[else][priorityOrder]

Send Confirmation

[else][priorityOrder]

Finance

Receive Payment

CustomerService

Receive Order

Send Invoice

Close Order

[else][priorityOrder]

Warehouse

Fil l Order

Overnight Delivery

Regular Delivery

[else][priorityOrder]

Send Confirmation

[else][priorityOrder]

Finance

Receive Payment

CustomerService

Receive Order

Send Invoice

Close Order

[else][priorityOrder]

15

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

Example: Parallel Algorithm

Example from Douglass, Real Time UML, 2004

16

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

Example: HCI

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.