Title: Specifying Workflow using COOPN
1Specifying Workflow using CO-OPN
- Ang Chen
- SMV group
- 11 Mars, 2005
2Plan
- Workflow patterns
- CO-OPN workflow building blocks
- Perspectives, patterns
- Abstract Data Type
- Reusability
- Verification, soundness
- Code generation and simulation
- Conclusion
3Workflow patterns
- Van Der Aalst
- 20 patterns, control-flow oriented
- Perspectives
- Control flow of cases (instances)
- Data data and information processing
- Operation interactions with human and external
systems - Resources
4Elements of Workflow
- Elements
- Activities
- Cases instances
- Actors (roles) human, machine
- Data, information
- Resources
- Processes
- How to define, deploy and execute processes?
5Our approach modeling workflow using algebraic
Petri net
- Specify pre- and post- conditions
- Represent activities by means of classes
- Using building blocks to model control-flows
- By connecting activities and building blocks, we
define and construct workflows. - Advantages reconfigurable, flexible, reusable.
6CO-OPN building blocks for workflow
Workflow CO-OPN Cases ADT Data ADT Activity Clas
s Process Context Operation Method Event Methods
/gate
Activity
7CO-OPN building blocks for workflow cont.
Top-down direction Data, operation and event
flow Left-right direction control-flow
8CO-OPN building blocks for workflow cont.
Example AND join
Hierarchies
9Perspectives
- We classify three stereotypes of methods and
gates in our building blocks instance flow,
action/event flow and data flow - Methods are input flows, gates are output flows
- Instance flows are always fireable. Action/event
flows and data flows are not, they may
synchronize with each other. - We predefine an ADT Case to represent instance
- Naturally we obtain three perspectives
- Control-flow flow of instance
- Data ADTs
- Operational methods and gates represent input
and output actions/events
10Example
- Travel reservation
- Votation
11Algebraic Abstract Data Type
12Supported Workflow Patterns
- AND, OR Join/Split, choice, merge
- Multi-choice, synchronizing merge
- Multi-merge, discriminator, arbitrary cycles,
implicit termination - Multi-instance support
13Reusability
- Modularity
- Activity reusability
- Black box coordinal composition, the context
- White box class inheritance
- Patterns building block
- We define the process by creating a context
- Process reusability
- A process can be a component of another process
composition of context - Substitutability depend on criteria
14Verification
- Behaviors are defined by axioms
- Possible to prove properties using formal
techniques
15Code generation and simulation
- Generate workflow controller
- Prototype interpretable
- Simulation in CoopnBuilder
16Conclusion
- CO-OPN provide a powerful way to represent
business activities and processes - Declarative activity definition using pre- and
post- conditions - Three perspectives are modeled contol-flow, data
and operational - ADT is an indispensable element