UML Activity Diagrams as a Workflow Specification Language - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

UML Activity Diagrams as a Workflow Specification Language

Description:

UML Activity Diagrams. as a Workflow Specification Language. Marlon Dumas, Arthur H.M. ter Hofstede ... They need to compare to the languages currently used ... – PowerPoint PPT presentation

Number of Views:428
Avg rating:4.0/5.0
Slides: 24
Provided by: top1
Category:

less

Transcript and Presenter's Notes

Title: UML Activity Diagrams as a Workflow Specification Language


1
UML Activity Diagrams as a Workflow
Specification Language
  • Marlon Dumas, Arthur H.M. ter Hofstede
  • UML2001
  • 2003.4.29
  • presented by Hyun-Min Ko

2
Contents
  • Introduction
  • Background
  • Activity Diagrams
  • Capturing Workflow Patterns
  • Conclusion

3
Introduction
  • Motivation
  • UML activity diagrams are intended to model
    workflows
  • They need to compare to the languages currently
    used for this purpose
  • Those supported by existing Workflow Management
    Systems
  • Objectives
  • To examine the expressiveness and adequacy of the
    activity diagrams notation for workflow
    specification by systematically evaluating their
    ability to capture a collection of workflow
    patterns

4
Background
  • Workflow
  • The automation of a business process, in whole
    part, during which documents, information or
    tasks are passed from on participant to another
    for action, according to a set of procedural
    rules
  • Workflow Specification Perspectives
  • Control-flow
  • Expresses activities and their execution ordering
    through different constructors, which permit flow
    of execution control
  • e.g.) sequence, choice, parallelism and join
    synchronization
  • Data
  • Expresses the flow of information between
    activities
  • Resource
  • Defines human and device roles responsible for
    handling activities
  • Operational
  • Describes the elementary actions executed by
    activities

5
Activity Diagrams (1/2)
  • States and Transition
  • States
  • Wait state no action or activity is performed
  • Action state a single action is attached to a
    state
  • Activity-in-state an activity is attached to
    the state
  • Transition shows what activity state follows
    after another

concurrent region
action state
transition
wait state
AND-state
6
Activity Diagrams (2/2)
  • Forks and joins
  • Express concurrency
  • Fork a transition with one source state and
    several target states
  • Join a transition with several source states
    and one target state
  • Must fulfill well-formedness criteria
  • to replace all forks and joins with AND-states
  • Forks and joins permit deadlocking situation
    which would not occur if forks and joins were
    replaced with AND-states
  • Synch states
  • A synchronization point between two threads
  • May hold several tokens simultaneously
  • the number of tokens a given bound
  • e.g.) no bound
  • Dynamic invocations
  • A feature to specify that multiple invocations of
    an action or subactivity execute concurrently

7
Capturing Workflow Patterns
  • Control-flow Workflow Patterns
  • Abstracted forms of recurring situations related
    to the ordering of activities in a workflow, and
    the flow of execution between them
  • Synchronization patterns
  • One or several concurrent activities need to be
    completed before another activity is initiated
  • State-based patterns
  • Human and material resources are not always
    available, activities are more often in a waiting
    state than in a processing one
  • Producer-consumer patterns
  • Several instances of an activity A (the producer)
    are executed sequentially, and the termination of
    each of these instances triggers the execution of
    an instance of another B (the consumer)

8
Discriminator (1/2)
  • Description
  • A point in a workflow that waits for one of its
    incoming branches to complete before activating
    the subsequent activity
  • Example
  • A solution using UML activity diagrams
  • A set of concurrent regions communicating through
    signals
  • The incoming branches of the discriminator, as
    well as the outgoing branch, are placed in
    separate regions of a single activity state

9
Discriminator (2/2)
  • Limitation
  • When the discriminator is part of a loop

Undesired synchronization !!
10
N-out-of-M join
  • Description
  • A point in a workflow where M parallel branches
    converge into one
  • Example
  • A solution using activity diagrams
  • A counter needs to be introduced to keep track of
    the number of termination signals generated by
    the incoming branches of the N-out-of-M join
  • Limitation The same as the Discriminator pattern

11
Multiple instances requiring synchronization
  • Description
  • A point in a workflow where an activity A is
    enabled multiple times
  • Example
  • A solution using activity diagrams
  • Embed activity A within a subactivity state, and
    attach an unbounded dynamic multiplicity to it
  • Introduce a transition between this subactivity
    state and an action state labeled by B

12
Deferred choice
  • Description
  • A point in a workflow where one among several
    branches is chosen based on some external
    information
  • Example
  • A solution using activity diagrams
  • A normal state which waits for an event from the
    environment, and chooses one of its outgoing
    branches accordingly

13
Interleaved parallel routing (1/2)
  • Description
  • A set of activities A1, A2, , An need to be
    executed in an arbitrary order
  • Each activity in the set is executed exactly once
  • Example

14
Interleaved parallel routing (2/2)
  • A solution using activity diagrams
  • To enforce the interleaving of activities by
    placing each activity in a separate concurrent
    region, and blocking their execution through
    synch states emanating from a single blocking
    region

15
With termination activity (1/2)
  • Description
  • The process starts with the execution of an
    instance of A
  • When this execution completes, an instance of B
    is enabled
  • Concurrently, a second instance of A can be
    started
  • When this second instance of A completes, a
    second instance of B is enabled
  • Example

16
With Termination Activity (2/2)
  • A solution using activity diagrams
  • Instances of activity A and B run in two
    concurrent regions of a compound state

17
With Bounded Queue
  • Description
  • It is similar to that of the previous one, except
    that at any time, the difference between the
    number of times that activity A has been
    executed, and the number of times that activity B
    has been executed, is bounded by an integer
    called the size of queue
  • Example
  • A solution using activity diagrams
  • Two separate counters are kept one counting the
    executions of A (na), and the other counting the
    executions of B (nb)
  • Every time that activity A is complete if the
    boolean variable more is true, a waiting state
    is entered, which is only exited when the
    condition na-nb

18
Conclusion
  • The strong points of activity diagrams
  • They support signal sending and receiving at the
    conceptual level
  • They support both waiting states and processing
    states
  • They provide a seamless mechanism for decomposing
    an activity specification into subactivities
  • The weak points of activity diagrams
  • Some of their constructs lack a precise syntax
    and semantics
  • The well-formedness rules linking forks with
    joins
  • The concepts of dynamic invocation
  • They do not fully capture important kinds of
    synchronization
  • Discriminator and the N-out-of-M join

19
Future work
  • To assess the suitability of such constructs as
    object flows and swimlanes for the data and
    resource perspective respectively
  • To study how the concepts and constructs of UML
    activity diagrams compare to those of the
    Workflow Management Coalitions Reference Model

20
Back TP
21
Background (2)
  • Workflow Patterns
  • Initiative started at the Fourth IFCIS
    International Conference on Cooperative
    Information Systems (CoopIS)  in Edinburgh in
    1999
  • Can address business requirements in an
    imperative workflow style expression
  • Control-flow Workflow Patterns
  • Abstracted forms of recurring situations related
    to the ordering of activities in a workflow, and
    the flow of execution between them
  • Categories
  • Basic Control Patterns
  • Advanced Branching and Synchronization Patterns
  • Structural Patterns
  • Patterns Involving Multiple Instances
  • State-based Patterns
  • Cancellation Patterns

22
Workflow Management Systems (1/2)
  • Staffware
  • 25 in the world
  • Developed by Staffware PLC
  • Features
  • Elements the Start, Step, Wait, Condition and
    Stop
  • Arbitrary loops / implicit termination
  • COSA
  • In Europe
  • Developed by Ley GmbH
  • Features
  • Petri-net based
  • (activity, conditions)
  • Explicit representation of states
  • Deffered Choice / Interleaved Parallel Routing

23
Workflow Management Systems (2/2)
  • Verve
  • A newcomer debuted in 1998
  • Acquired by Versata (VIS)
  • Features
  • Model activities, transitions
  • Multiple instances and dynamic modification of
    running instances
Write a Comment
User Comments (0)
About PowerShow.com