Workflow Management Systems Workflow Management Systems Dr. Rafael A. Calvo Web Engineering Group School of Electrical and Information Engineering The University of Sydney www.weg.ee.usyd.edu.au Edited by Mark Aufflick www.pumptheory.com © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems This presentation • • • • • • • What are workflows? Modelling Workflows Petri Nets Finite State Machines (FSM) Formal representation of workflows Workflow management systems Example implementation © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems What are workflows? The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant* to another for action, according to a set of procedural rules. *participant = resource (human or machine) workflow management consortium Workflow management systems date back to the late 1980. The are used to coordinate the work of multiple people in a project that has a fixed process. © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems Why workflow management? • Better, Cheaper faster businesses • Improved efficiency - mostly through automation of business processes. • Improved customer service – through consistency in the processes. • Improved process control - helps management and improves overall quality of the outcomes. • Flexibility – software control over processes enables their re-design in line with changing business needs • Business process improvement - through focus on business processes. © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems A publishing workflow • Publishing: Someone commissions and article, authors write it, the editor edits it and the article goes back to the author, then the editor reads it again and if accepted passes it to the publisher to decide the date of publication. • Magazines, newspapers, etc… do this hundreds of times a day. © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems Bug tracking workflow • Most common in software engineering • A user submits a bug report, someone looks at it and decides who, how and when should fix it. The developer fixes it, or forward it to another developer, or back to the user asking for more information, eventually the bug is fixed and the user advised. © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems Workflow management systems • • • • • Pure workflow software, Derived form image management systems, Document management systems, Relational or object database systems, And electronic mail systems. © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems To think about… What are the advantages of Web-based workflow management systems? © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems Modelling workflows • Workflows are modelled so they can be: – Communicated to others (e.g managers, team members). – Exchanged (e.g with other teams doing similar processes) – Integrated (e.g with other computer systems) © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems Workflow Mathematical models • Useful Mathematical models – Finite State Machine (FSM) FSMs can be described by State Transition Diagrams – Petri Net Petri Nets are used to model concurrent systems, particularly network protocols. The visual description of Petri Nets has been defined by the IEEE © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems Petri Nets modelling • Petri Nets are a 4-tuple (P,T,I,O) – Places represent possible states of the system (circles) – Transitions are events or actions which cause the change of state (rectangles) – Input relation: an arc that connects transition with a place (arrows). – Output relation: an arc that connects a place with a transition (arrows). © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems Petri Nets Transitions… • Changes of state are denoted by a movement of token(s) (black dots) from input places to output places; and are caused by the firing of a transition. • The firing represents an occurrence of the event or an action taken. • The firing is subject to the input conditions, denoted by token availability. © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems Petri Nets Transitions (2) • A transition is firable or enabled when there at least one token in its input places. • After firing, tokens will be moved from the input places (old state) to the output places, denoting the new state. • What makes a transition to fire is called trigger. © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems Petri Nets Triggers 1. 2. 3. 4. User Trigger, when the transition is caused by a person. (fat arrow pointing to the task) Message Trigger. When the system is triggered by a message generated outside the WF system. Automatic Trigger. Are performed by the system as soon as the transition is enabled. Time trigger. Are automatic transitions that need to occur at a specific time. © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems Finite State Machines • A basic finite state machine consists of: – States – A start state – Transitions/Actions • A simple representation: – [Action] (State) [Action1] (Start State) (State2) [Action4] (State4) [Action3] [Action2] © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) (State3) School of Electrical and Information Eng, University of Sydney Workflow Management Systems FSM : States & Actions • States from our Bug Tracker example: Open Resolved Closed • An FSM instance will always be in exactly one such state • When you perform an action, the FSM instance will be pushed into a new state • States contain almost no information, but they allow us to determine which actions are possible © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems Products • Today's workflow management systems include: – COSA (Transflow), – Websphere MQ Workflow (IBM), – Workflow (Eastman Software), – Staffware (Staffware) and – Visual WorkFlo (FileNet) support production/administrative workflow. • A number of content management systems have workflows, including Vignette, Interwoven and OACS. • Just a few products support ad-hoc workflow, e.g., Ensemble (FileNet). © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney Workflow Management Systems References • • • • • http://www.e-workflow.org/ http://www.wfmc.org/ Carl Adam Petri, Diss. 1962 Theory of Non-sequential processes (Kommunicakation mit Automaten) http://lsdis.cs.uga.edu/activities/NSF-workflow/ http://www.collaboraid.biz/developer/workflow-spec © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney