====== Modellazione dei processi aziendali - Methods for the specification and verification of business processes ====== {{:magistraleinformaticaeconomia:mpb:hand-drawing-diagram.png?160 | }} **MPB 2014/15 (295AA / 372AA, 6 CFU)** Lecturer: **Roberto Bruni** Contact: [[http://www.di.unipi.it/~bruni|web]] - [[http://www.cli.di.unipi.it/~rbruni|CLI]] - [[mailto:rbruni@cli.di.unipi.it|email]] - phone 050 2212785 - fax 050 2212726 Question time: **Wednesday 16:00-18:00 or by appointment** ---- ==== Objectives ==== The course aims to reconcile abstraction techniques and high-level diagrammatic notations together with modular and structural approaches. The objective is to show the impact of the analysis and verification properties of business processes on the choice of the best suited specification and modelling languages. At the end of the course, the students will gain some familiarity with business process terminology, with different models and languages for the representation of business processes, with different kinds of logical properties that such models can satisfy and with different analysis and verification techniques. The students will also experiment with some tools for the design and analysis of business processes. ---- ==== Course Overview ==== Business process management. Evolution of Enterprise Systems Architectures. Conceptual models and abstraction mechanisms. Petri nets: invariants, S-systems, T-systems, Free-choice systems and their properties. Workflow nets and workflow modules. Workflow patterns. Event-driven Process Chains (EPC). Business Process Modelling Notation (BPMN). Yet Another Workflow Language (YAWL). Business Process Execution Language (BPEL). Process Mining. ---- ==== Textbook(s) ==== * [[http://bpm-book.com/|Business Process Management: Concepts, Languages, Architectures]] (book on BPM, main reference) * [[http://wwwis.win.tue.nl/~wvdaalst/publications/p135.pdf|Diagnosing workflow processes using Woflan]] (article on Formal Analysis of Workflows, recommended reading) * [[http://mitpress.mit.edu/books/workflow-management|Workflow Management: Models, Methods, and Systems]] (book on Workflow Management, optional reading) * [[http://www7.in.tum.de/~esparza/bookfc.html|Free Choice Nets]] (book on Petri nets, optional reading) * [[http://fundamentals-of-bpm.org/|Fundamentals of Business Process Management]] (book on BPMN, optional reading) * [[http://www.springer.com/computer/database+management+%26+information+retrieval/book/978-3-642-19344-6|Process Mining]] (book on Process Mining, optional reading) * Further bibliography and lecture notes will be indicated during the course. ---- ==== Tool(s) ==== [[http://woped.dhbw-karlsruhe.de/woped/|{{:magistraleinformaticaeconomia:mpb:woped-icon.png?50|http://woped.dhbw-karlsruhe.de/woped/}}]] [[http://www.win.tue.nl/woflan/doku.php|{{:magistraleinformaticaeconomia:mpb:e8adaea8122411aaa79b8afec7c9fb32.media.272x236.jpg?80|http://www.win.tue.nl/woflan/doku.php}}]] [[http://www.yworks.com/en/products_yed_about.html|{{:magistraleinformaticaeconomia:mpb:logo.gif?80}}]] [[http://bpmn.sourceforge.net/|{{:magistraleinformaticaeconomia:mpb:188072_149141125103453_6888195_q.jpg}}]] [[http://www.intalio.com/products/bpms/overview/|{{:magistraleinformaticaeconomia:mpb:bpms.png?70|}}]] [[http://www.bizagi.com/index.php/en/products/bizagi-process-modeler|{{:magistraleinformaticaeconomia:mpb:100x_modeler.png?60|}}]] [[http://www.visual-paradigm.com/product/vpuml|{{:magistraleinformaticaeconomia:mpb:vpuml60logo.gif?150|http://www.visual-paradigm.com/product/vpuml}}]] [[http://www.yawlfoundation.org/|{{:magistraleinformaticaeconomia:mpb:ylogo.png?80|}}]] [[http://www.processmining.org/prom/start|{{:magistraleinformaticaeconomia:mpb:tools.png?60}}]] [[http://bimp.cs.ut.ee/|{{:magistraleinformaticaeconomia:mpb:bimp-log.png?80}}]] [[http://woped.dhbw-karlsruhe.de/woped/|Woped]]: Workflow Petri Net Designer [[http://www.win.tue.nl/woflan/doku.php|Woflan]]: a Petri-net-based Workflow Analyzer (Windows only), also available as a [[http://www.processmining.org/prom/start|ProM]] plugin (all platforms) [[http://www.yworks.com/en/products_yed_about.html|yEd]]: Graph Editor [[http://bpmn.sourceforge.net/|Yaoqiang BPMN Editor]]: BPMN Editor [[http://www.intalio.com/products/bpms/overview/|BPMS]]: Intalio BPMN Editor [[http://www.bizagi.com/index.php/en/products/bizagi-process-modeler|Bizagi Process Modeler]]: BPMN editor (Windows only) [[http://www.visual-paradigm.com/|Visual Paradigm]] offers University of Pisa [[http://www.visual-paradigm.com/product/vpuml|VP-UML]], [[http://www.visual-paradigm.com/product/lz|Logizian]] for educational use through the [[http://www.visual-paradigm.com/partner/academic/|VP Academic Partner Program]]. [[http://www.yawlfoundation.org/|YAWL]]: Yet Another Workflow Language platform [[http://www.processmining.org/prom/start|ProM]]: Process Mining Framework [[http://bimp.cs.ut.ee/|BIMP]]: Business Process Simulator ---- ==== Exams ==== The evaluation will be based on mid-term written exams, a group project and an oral exam. The final score will be obtained by combining the scores of the above exams with equal weight. The mid-term exam will be held on **Friday 07/11 from 11:00 to 13:00 in room C1**. The student must demonstrate the ability to put into practice and to execute, with critical awareness, the activities illustrated or carried out under the guidance of the teacher during the course. ---- ==== Lectures ==== ^ N ^ Date ^ Time ^ Room ^ Lecture notes ^ Topics ^ Links ^ | 1 | Wed 24/09 | 14-16 | N1 | {{:magistraleinformaticaeconomia:mpb:01-introduction-2014.pdf|Lecture 1}} | Course introduction: //course objectives, textbooks,\\ BPM aim and motivation, models and abstraction// | | | 2 | Fri 26/09 | 11-13 | L1 | {{:magistraleinformaticaeconomia:mpb:02-business-processes-2014.pdf|Lecture 2}} | Introduction to Business Processes: //work units, processes,\\ terminology, organizational structures, process management// | | | 3 | Wed 01/10 | 14-16 | N1 | {{:magistraleinformaticaeconomia:mpb:02a-examples-2014.pdf|Examples}} | Examples and Exercises | | | 4 | Fri 03/10 | 11-13 | L1 | {{:magistraleinformaticaeconomia:mpb:03-lifecycle-2014.pdf|Lecture 3}}\\ {{:magistraleinformaticaeconomia:mpb:04-methodology-2014.pdf|Lecture 4}} | Business Processes Lifecyle: //design and analysis,\\ configuration, enactment, evaluation,\\ administration and stakeholders// \\ \\ Business Process Methodology:\\ //levels of business processes, business strategies,\\ operational goals, organizational BP, operational BP,\\ implemented BP, strategy and organization,\\ BP methodology// | | | 5 | Wed 08/10 | 14-16 | N1 | {{:magistraleinformaticaeconomia:mpb:05-evolution-2014.pdf|Lecture 5}}\\ {{:magistraleinformaticaeconomia:mpb:06-abstraction-2014.pdf|Lecture 6}}| Evolution of Enterprise Systems Architectures:\\ //separation of concerns, individual enterprise applications,\\ siloed EA, EA integration, value chains and process orientation,\\ workflow management coalition, enterprise service computing// \\ \\ Business Process Modelling Abstractions:\\ //conceptual model, horizontal abstraction,\\ aggregation abstraction, vertical abstraction,\\ from value systems to BP implementation// | | | 6 | Fri 10/10 | 11-13 | L1 | {{:magistraleinformaticaeconomia:mpb:07-nets-intro-2014.pdf|Lecture 7}} | Introduction to Petri nets:\\ //from finite state automata to Petri nets,\\ multisets and markings// \\ \\ More concepts about Petri nets:\\ //transition enabling and firing, firing sequences// | [[http://woped.dhbw-karlsruhe.de/woped/|Woped]] | | 7 | Wed 15/10 | 14-16 | N1 | Exercises (from Lecture 7)\\ {{:magistraleinformaticaeconomia:mpb:08-nets-more-2014.pdf|Lecture 8}} (updated 14/10/2014) | More concepts about Petri nets (from Lecture 8):\\ //firing sequences, reachable markings, occurrence graph//\\ \\ Behavioural properties:\\ //liveness, deadlock freedom// | | | 8 | Fri 17/10 | 11-13 | L1 | **Canceled** | **Lecture canceled due to a strike of the personnel of Polo Fibonacci** | | | 9 | Wed 22/10 | 14-16 | N1 | Exercises (from Lecture 8)\\ Behavioural properties (from Lecture 8) | Examples and Exercises\\ \\ Behavioural properties:\\ //boundedness, safeness// | | | 10 | Fri 24/10 | 11-13 | L1 | Behavioural properties (from Lecture 8)\\ Structural properties (from Lecture 8)\\ {{:magistraleinformaticaeconomia:mpb:09-net-matrices-2014.pdf|Lecture 9}} | Behavioural properties:\\ //cyclicity, place liveness//\\ \\ Structural properties:\\ //weak and strong connectedness,\\ S-systems, T-systems, free-choice nets// \\ \\ Nets as matrices:\\ //incidence matrices, markings as vectors, Parikh vectors,\\ marking equation lemma, monotonicity lemma,\\ boundedness lemma, repetition lemma// | | | 11 | Wed 29/10 | 14-16 | N1 | {{:magistraleinformaticaeconomia:mpb:10-invariants-2014.pdf|Lecture 10}}\\ Exercises (from Lecture 8) | Invariants:\\ //S-invariants, fundamental property of S-invariants,\\ alternative characterization, support, positive S-invariants,\\ about boundedness, reachability and liveness,\\ T-invariants, fundamental property of T-invariants,\\ alternative characterization, reproduction lemma,\\ about liveness and boundedness// | | | 12 | Fri 31/10 | 11-13 | L1 | Exercises (from Lecture 10)\\ {{:magistraleinformaticaeconomia:mpb:11-properties-2014.pdf|Lecture 11}} (updated 30/10/14)\\ {{:magistraleinformaticaeconomia:mpb:12-workflow-nets-2014.pdf|Lecture 12}} | Properties as invariants:\\ //liveness, deadlock freedom, boundedness// \\ \\ Other properties:\\ //exchange lemmas, connectedness theorems// \\ \\ Workflow nets:\\ //definition, control flow aspects, decorations// | | | 13 | Fri 07/11 | 11-13 | C1 | {{:magistraleinformaticaeconomia:mpb:testo-2014-11-07.pdf|Mid-Term Exam}} | [[https://esami.unipi.it/esami/|Registration]] | | | 14 | Wed 12/11 | 14-16 | N1 | Solutions to mid-term exam\\ Exercises (from Lecture 11)\\ Triggers (from Lecture 12)\\ {{:magistraleinformaticaeconomia:mpb:13-wfnets-analysis-2014.pdf|Lecture 13}} | Workflow nets:\\ //triggers//\\ \\ Analysis of workflow nets:\\ //structural analysis, activity analysis, token analysis,\\ net analysis, verification and validation,\\ reachability analysis, coverability graph,\\ soundness// | | | 15 | Fri 14/11 | 11-13 | L1 | Exercises (from Lectures 12)\\ Soundness theorem (from Lecture 13)\\ {{:magistraleinformaticaeconomia:mpb:14-wfnets-construction-2014.pdf|Lecture 14}}\\ {{:magistraleinformaticaeconomia:mpb:15-st-systems-2014.pdf|Lecture 15}} (updated 19/11/2014) | Analysis of workflow nets:\\ //soundness, reset transition, main soundness theorem// \\ \\ Workflow nets:\\ //soundness (and safeness) by construction//\\ \\ S-systems:\\ //fundamental property of S-systems,\\ S-invariants of S-nets, liveness theorem// | | | 16 | Wed 19/11 | 14-16 | N1 | Exercises (from Lectures 13, 14)\\ S-systems: Reachability theorem (from Lecture 15)\\ T-systems (from Lecture 15) | S-systems:\\ //reachability lemma, reachability theorem, boundedness theorem// \\ \\ T-systems:\\ //circuits and token count on a circuit,\\ fundamental property of T-systems,\\ T-invariants of T-nets, liveness theorem,\\ boundedness theorem for live T-systems,\\ boundedness in strongly connected T-systems,\\ liveness in strongly connected T-systems// | | | 17 | Fri 21/11 | 11-13 | L1 | Exercises (from Lecture 15)\\ {{:magistraleinformaticaeconomia:mpb:16-free-choice-2014.pdf|Lecture 16}} | Free-choice nets:\\ //Fundamental property of free-choice nets,\\ clusters, fundamental property of clusters in f.c. nets,\\ stability, siphons, proper siphon,\\ fundamental property of siphons, siphons and liveness,\\ siphons and deadlock, traps, proper traps,\\ fundamental property of traps,\\ a sufficient condition for deadlock freedom,\\ place-liveness and liveness in f.c. nets,\\ non-liveness and unmarked siphons in f.c. nets,\\ Commoner's theorem, complexity issues// | | | 18 | Wed 26/11 | 14-16 | N1 | Exercises (from Lecture 16)\\ Free-choice nets (from Lecture 16)\\ {{:magistraleinformaticaeconomia:mpb:17-wfnets-diagnosis-2014.pdf|Lecture 17}} | Free-choice nets:\\ //Rank theorem, S-cover, T-cover//\\ \\ Diagnosis of Workflow nets:\\ //Woped, Woflan, TP-handles, PT-handles,\\ well-handled nets, well-structured workflow nets,\\ error sequences, non-live sequences,\\ unbounded sequences// | [[http://www.win.tue.nl/woflan/|Woflan]]\\ [[http://www.processmining.org/prom/start|ProM]] | | 19 | Fri 28/11 | 11-13 | L1 | Exercises (from Lectures 16, 17)\\ {{:magistraleinformaticaeconomia:mpb:18-workflow-systems-2014.pdf|Lecture 18}}\\ {{:magistraleinformaticaeconomia:mpb:19-epc-2014.pdf|Lecture 19}} (updated 28/11/2014) | Workflow systems:\\ //workflow modules, strong and weak structural compatibility,\\ workflow system, weak soundness//\\ \\ EPC:\\ //Notation, semantics ambiguities and problems,\\ corresponding split, matching split,\\ policies (wfa, fc, et)// | | | 20 | Wed 3/12 | 14-17 | N1 | Exercises (from Lectures 18, 19)\\ From EPC to nets (from Lecture 19)\\ {{:magistraleinformaticaeconomia:mpb:20-bpmn-2014.pdf|Lecture 20}} | EPC:\\ //From EPC to nets, relaxed soundness//\\ \\ BPMN:\\ //Notation, advanced constructs,\\ conversations, choreographies, collaborations// | [[http://www.yworks.com/en/products_yed_about.html|yEd]]\\ [[http://bpmn.sourceforge.net/|Yaoqiang]]\\ [[http://www.intalio.com/products/bpms/overview/|BPMS]]\\ [[http://www.bizagi.com/index.php/en/products/bizagi-process-modeler|Bizagi]]\\ [[http://www.visual-paradigm.com/product/lz|Logizian]] | | 21 | Fri 5/12 | 11-13 | L1 | Exercises (from Lectures 19, 20)\\ From BPMN to nets (from Lecture 20)\\ {{:magistraleinformaticaeconomia:mpb:21-bpel-2014.pdf|Lecture 21}} | BPMN:\\ //From BPMN to nets//\\ \\ BPEL:\\ //WSDL// | | | 22 | Wed 10/12 | 14-17 | N1 | Exercises (from Lecture 20)\\ From BPEL to nets (from Lecture 21)\\ {{:magistraleinformaticaeconomia:mpb:24-quantitative-analysis-2014.pdf|Lecture 24}} (updated 10/12/2014)\\ {{:magistraleinformaticaeconomia:mpb:25-simulation-2014.pdf|Lecture 25}} | BPEL:\\ //BPEL structured constructs, links,\\ transition condition, join condition,\\ from BPEL to nets//\\ \\ Quantitative analysis:\\ //Performance dimensions, performance objectives,\\ KPI, cyle time analysis, Little's law, cost analysis,\\ resource allocation, classification diagrams, capacity planning//\\ \\ Simulation:\\ //simulation parameters, task durations, BIMP// | [[http://www.win.tue.nl/~hverbeek/doku.php?id=projects:prom:plug-ins:conversion:bpel2tpn|BPEL2PNML]]\\ [[http://www.gnu.org/software/bpel2owfn/|BPEL2oWFN]]\\ [[http://woped.dhbw-karlsruhe.de/woped/|Woped]]\\ [[http://bimp.cs.ut.ee/|BIMP]] | | 23 | Fri 12/12 | 11-13 | L1 | **Canceled** | **Lecture canceled due to a strike of the personnel of Polo Fibonacci** | | | 24 | Mon 15/12 | 11-13 | V1 | Exercises (from Lecture 24)\\ {{:magistraleinformaticaeconomia:mpb:22-workflow-patterns-2014.pdf|Lecture 22}}\\ {{:magistraleinformaticaeconomia:mpb:23-yawl-2014.pdf|Lecture 23}}\\ {{:magistraleinformaticaeconomia:mpb:26-mining-2014.pdf|Lecture 26}} (until naive fitness, included) | Workflow patterns:\\ //basic patterns, advanced patterns,\\ structural patterns, multiple instances,\\ state-based patterns, cancellation patterns//\\ \\ YAWL:\\ //notation, informal expressiveness//\\ \\ Process mining:\\ //Event logs, discovery, conformance,\\ enhancement, perspectives, play-in, play-out,\\ replay, overfitting, underfitting, alpha-algorithm,\\ footprint matrix, naive fitness// | [[http://www.yawlfoundation.org/|YAWL]]\\ [[http://www.processmining.org/prom/start|ProM]] | | end | | | | | | | ---- ==== Past courses ==== * [[magistraleinformaticaeconomia:mpb:2013-14:|A.A. 2013/14]]