1 Diagramming Techniques: FC,UML,PERT,CPM,EPC,STAFFWARE,... Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology P.O. Box 513 5600 MB Eindhoven The Netherlands w.m.p.v.d.aalst@tm.tue.nl Wil van der Aalst
2 Other diagramming techniques Flow charts Dataflow diagrams Message sequence charts State transition diagrams UML Project planning: CPM, PERT, Workflow management systems: Staffware (Staffware) COSA (Software Ley) Flowmark (IBM) Visual Workflo (Filenet) InConcert (InConcert) SAP Business Workflow +200 State machines Petri nets Free-choice nets Marked graphs
3 Flow charts Programming, sequential procedures, Elements: Function Choice Connection Routing constructs: A;B IF C THEN A IF C THEN A ELSE B WHILE C DO A
4 Flow charts (semantics) Initial/final functions have input/output place
5 Flowcharts (example) F1 No F2 C1 Yes F3 C2 No Yes F5 F4 Only sequential processes, i.e., state machines!!
6 Project planning CPM (Critical Path Method) PERT (Program, evaluation and review technique) A project network consists of two/three kinds of elements: activity (job) X(2days) A job has a duration. precedence constraints X(2days) node (milestone) There is 1 initial and 1 final node. Two types of diagrams: activity on arrow (AoA) and activity on node (AoN). A job can be translated to a transition or a place. For AoA a place seems to be natural. For AoN a transition seems to be more suitable.
7 CPM/PERT (Examples) A B A B A B A B A(1) B(2) C(1) D(3) E(1) F(1) G(2) H(4) How to model it AoN? How to model it as a PN?
PERT/CPM (Example) 8
9 UML Unified Modeling Language (Booch, Jacobson, and Rumbaugh) Diagrams in UML Class diagrams Object diagrams Use case diagrams Sequence diagrams (P) Collaboration diagrams (P) Statechart diagrams (P) Activity diagrams (P) Component diagrams Deployment diagrams Four of the ten diagrams can be used to describe process-related aspects. The activity diagrams are close to workflow languages and borrow elements from Petri nets.
UML sequence diagram 10
UML collaboration diagram 11
UML statechart diagram 12
13 UML activity diagram Concepts: Action states (task/transition) Initial state (source place) Final state (sink place) Normal states (place) Fork (AND-split/transition) Join (AND-join/transition) Branch (XOR-split/place) Swimlanes (a way of grouping)
14 Event-Driven Process Chains (EPC s) German: Ereignisgesteuerte Proceßkette (EPK) (Keller, Nüttgens, Scheer 1992) Used in: SAP R/3 Business Workflow (SAP AG), ARIS (IDS Prof. Scheer), LiveModel/Analyst (Intellicorp. Inc.) Elements: Function Event Logical connectors XOR Every function/event has max. 1 input/output arc!!
15 EPC (Semantics) XOR? Initial/final functions have input/output place
EPC (Semantics connectors) 16
EPC (Example) 17
EPC (Connected connectors) 18
EPC (Solution) 19
EPC (Find the error) 20
EPC (Remarks) 21
22 EPC (Extensions, ARIS) Materials mgmt Executive mgmt Sales Organizational view Disposition Inventory Offer Request Request received Sales processing Request Request processing Sales Request processing Offer processing Customer Request processed Offer processing Check Credit worthiness Determine delivery date Data view Control view Functional view
EPC (SAP Business Workflow, SAP AG) 23
24 EPC (Conclusion) Problem with semantics of -connectors! Expressive power equal to free-choice nets No milestones. No mixture of choice and synchronisation. Moment of choice is not clear (implicit/explicit)
25 Staffware (Staffware) Today's leading workflow management system More than 300000 users and running on 4500 servers. Elements: Start (traffic light) Initial state. Step (form symbol) Task (OR/AND semantics) Wait (sand timer) Synchronisation (AND/AND semantics) Condition (diamond) OR-split (1 in, 1 or 2 out) Stop (stop symbol) Termination of one control flow. Also triggers, withdraw actions, and scripts (here we abstract from these features)!
Staffware (GWD Example) 26
27 Staffware (Conclusion) Termination implicit Expressive power equal to free-choice nets No milestones (no explicit representation of states). No mixture of choice and synchronisation (only choices inside tasks). Only explicit choices. It is not possible to specify the implicit choice without using scripts.
28 Conclusion Petri nets Free-choice nets State machines Marked graphs