Specifying Workflow using CO- OPN Ang Chen SMV group 11 Mars, 2005
Plan Workflow patterns CO-OPN workflow building blocks Perspectives, patterns Abstract Data Type Reusability Verification, soundness Code generation and simulation Conclusion
Workflow 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
Elements of Workflow Elements Activities Cases: instances Actors (roles): human, machine Data, information Resources Processes How to define, deploy and execute processes?
Our 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.
CO-OPN building blocks for workflow Activity WorkflowCO-OPN CasesADT DataADT ActivityClass ProcessContext OperationMethod EventMethods/gate
CO-OPN building blocks for workflow cont. Top-down direction: Data, operation and event flow Left-right direction: control-flow
CO-OPN building blocks for workflow cont. Example: AND join Hierarchies
Perspectives 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
Example Travel reservation Votation
Algebraic Abstract Data Type
Supported Workflow Patterns AND, OR Join/Split, choice, merge Multi-choice, synchronizing merge Multi-merge, discriminator, arbitrary cycles, implicit termination Multi-instance support …
Reusability 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…
Verification Behaviors are defined by axioms Possible to prove properties using formal techniques …
Code generation and simulation Generate workflow controller Prototype interpretable Simulation in CoopnBuilder
Conclusion 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