====== Business Processes Modeling ====== {{:magistraleinformaticaeconomia:mpb:hand-drawing-diagram.png?180 | }} **MPB 2019/20 (295AA / 372AA, 6 cfu)** Lecturer: **Roberto Bruni** Contact: [[http://www.di.unipi.it/~bruni|web]] - [[mailto:bruni@di.unipi.it|email]] - phone 050 2212785 - fax 050 2212726 Office hours: **Wednesday 14:00-16: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. ---- ==== Quick reference(s) ==== * [[http://www.informatik.uni-hamburg.de/TGI/PetriNets|Petri Nets World]] * [[http://www.pnml.org|PNML (Petri Nets Markup Language)]]: XML-based standard for Petri nets * [[http://www.bpmn.org|BPMN]]: Current specification [[http://www.omg.org/spec/BPMN/2.0/PDF|v2.0]] * [[http://www.oasis-open.org/committees/wsbpel|BPEL]] * [[http://www.workflowpatterns.com|Workflow Patterns]] * [[http://www.processmining.org|Process Mining]] * [[http://www.xes-standard.org|XES (eXtensible Event Stream)]]: XML-based standard for event logs ---- ==== Tool(s) ==== [[http://woped.dhbw-karlsruhe.de/|{{: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://bpmn.io/|{{:magistraleinformaticaeconomia:mpb:bpmn.io.logo.png?50|}}]] [[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]]: 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://bpmn.io/|BPMN.io]]: 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) * [[https://www.visual-paradigm.com/|Visual Paradigm]] supports University of Pisa with [[https://www.visual-paradigm.com/features/uml-and-sysml-tools/|UML tools]] and [[https://www.visual-paradigm.com/features/database-design-with-erd-tools/|ERD tools]] under the [[https://www.visual-paradigm.com/partner/academic/|VP Academic Training 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: **To be announced**.\\ [[https://esami.unipi.it/esami/|Registration]] to the exam is mandatory. 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. ---- ==== Announcements ==== * **Mid-Term**:\\ The mid-term exam will be held on **Wednesday 13/11, from 9:00 to 11:00 in room C** * **canceled lecture**:\\ The lecture of **Monday 4/11** has been canceled due to travelling constraints * **room change**:\\ **Wednesday** lectures are moved to room **C** * **room change**:\\ **Monday** lectures are moved to room **N1** * **as the course starts**:\\ Each student should send an email to the professor from his/her favourite email account with **subject MPB19** and the following data\\ (by doing so, the account will be included in the class mailing-list, where important announcements can be sent): - **first name** and **last name** (please clarify which is which, to avoid ambiguities) - **enrolment number** (numero di matricola) - bachelor degree (**course of study** and **university**) ---- ==== Lectures (first half) ==== ^ N ^ Date ^ Time ^ Room ^ Lecture notes ^ Topics ^ Links ^ | 1 | Mon 16/09 | 11:00-13:00 | A1 | {{ :magistraleinformaticaeconomia:mpb:01-introduction-2019.pdf |Lecture 1}} | Course introduction:\\ //course objectives, textbooks,\\ BPM aim and motivation,\\ models and abstraction// | | | 2 | Wed 18/09 | 09:00-11:00 | A1 | {{ :magistraleinformaticaeconomia:mpb:02-business-processes-2019.pdf |Lecture 2}} | Introduction to Business Processes:\\ //Taylorism, work units, processes, terminology,\\ organizational structures,\\ process management// | | | 3 | Mon 23/09 | 11:00-13:00 | N1 | {{ :magistraleinformaticaeconomia:mpb:02a-examples-2019.pdf |Examples}} | Examples and Exercises | | | 4 | Wed 25/09 | 09:00-11:00 | A1 | Exercises\\ {{ :magistraleinformaticaeconomia:mpb:03-evolution-2019.pdf |Lecture 3}} | Evolution of Enterprise Systems Architectures:\\ //separation of concerns, sw architectures\\ individual enterprise applications,\\ enterprise resource planning system,\\ siloed enterprise applications,\\ enterprise application integration,\\ message-oriented middleware,\\ enterprise service computing// | | | 5 | Mon 30/09 | 11:00-13:00 | N1 | {{ :magistraleinformaticaeconomia:mpb:04-models-2019.pdf |Lecture 4}}\\ {{ :magistraleinformaticaeconomia:mpb:05-methodology-2019.pdf |Lecture 5}}\\ {{ :magistraleinformaticaeconomia:mpb:06-lifecycle-2019.pdf |Lecture 6}} | Business Process Modelling Abstractions:\\ //Separation of concerns, horizontal abstraction,\\ aggregation abstraction, vertical abstraction,\\ value chains and value systems//\\ \\ Business Process Methodology:\\ //levels of business processes,\\ business strategies, operational goals,\\ organizational BP, operational BP,\\ implemented BP, design guidelines,\\ from business functions to processes//\\ \\ Business Processes Lifecyle:\\ //design and analysis, configuration,\\ enactment, evaluation,\\ administration and stakeholders// | | | 6 | Wed 02/10 | 09:00-11:00 | C | {{ :magistraleinformaticaeconomia:mpb:07-nets-intro-2019.pdf |Lecture 7}} | Introduction to Petri nets:\\ //finite state automata, from automata to Petri nets// | | | 7 | Mon 07/10 | 11:00-13:00 | N1 | Exercises (from Lecture 7)\\ {{ :magistraleinformaticaeconomia:mpb:08-petri-2019.pdf |Lecture 8}} | More concepts about Petri nets:\\ //multisets and markings,\\ transition enabling and firing, firing sequences,\\ reachable markings, occurrence graph// | [[http://woped.dhbw-karlsruhe.de/|Woped]] | | 8 | Wed 09/10 | 09:00-11:00 | C | Exercises (from Lecture 8) | Modelling with Petri nets:\\ //Examples and Exercises// | | | 9 | Mon 14/10 | 11:00-13:00 | N1 | {{ :magistraleinformaticaeconomia:mpb:09-properties-2019.pdf |Lecture 9}} (1st part) | Behavioural properties:\\ //liveness, place liveness, deadlock freedom,\\ boundedness, safeness, cyclicity// | | | 10 | Wed 16/10 | 09:00-11:00 | C | Exercises (from Lecture 9)\\ Lecture 9 (2nd part)\\ {{ :magistraleinformaticaeconomia:mpb:10-net-matrices-2019.pdf |Lecture 10}} (1st part) | 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// | | | 11 | Mon 21/10 | 11:00-13:00 | N1 | Exercises (from Lecture 9)\\ Lecture 10 (2nd part)\\ Exercises (from Lecture 10)\\ {{ :magistraleinformaticaeconomia:mpb:11-invariants-2019.pdf |Lecture 11}} (1st part) | Nets as matrices:\\ //monotonicity lemma, boundedness lemma,\\ repetition lemma//\\ \\ Invariants:\\ //S-invariants, fundamental property of S-invariants,\\ alternative characterization of S-invariant// | | | 12 | Wed 23/10 | 09:00-11:00 | C | Exercises (from Lecture 11)\\ Lecture 11 (2nd part) | Invariants:\\ //support, positive S-invariants,\\ about boundedness, reachability and liveness,\\ T-invariants, fundamental property of T-invariants,\\ alternative characterization of T-invariants,\\ reproduction lemma,\\ about liveness and boundedness// | | | 13 | Mon 28/10 | 11:00-13:00 | N1 | Exercises (from Lecture 11)\\ {{ :magistraleinformaticaeconomia:mpb:12-facts-2019.pdf |Lecture 12}}\\ Exercises (from Lecture 12)\\ {{ :magistraleinformaticaeconomia:mpb:13-workflow-nets-2019.pdf |Lecture 13}}\\ Exercises (from Lecture 13) | Other properties of nets:\\ //connectedness theorems, exchange lemmas\\ (their proofs are optional reading)//\\ \\ Workflow nets:\\ //definition, syntax sugar, subprocesses,\\ control flow aspects, triggers// | [[http://woped.dhbw-karlsruhe.de/|Woped]] | | 14 | Wed 30/10 | 09:00-11:00 | C | {{ :magistraleinformaticaeconomia:mpb:14-wfnets-analysis-2019.pdf |Lecture 14}} | Analysis of workflow nets:\\ //structural analysis, activity analysis,\\ token analysis, net analysis, verification and validation,\\ reachability analysis, coverability graph,\\ soundness, N*, strong connectedness of N*,\\ main soundness theorem// | | | - | Mon 04/11 | 11:00-13:00 | | **Canceled** | | | | 15 | Wed 06/11 | 09:00-11:00 | C | Exercises (from Lecture 14)\\ {{ :magistraleinformaticaeconomia:mpb:15-wfnets-construction-2019.pdf |Lecture 15}}\\ {{ :magistraleinformaticaeconomia:mpb:16-s-systems-2019.pdf |Lecture 16}} | Safe Workflow nets:\\ //soundness (and safeness) by construction//\\ \\ S-systems:\\ //fundamental property of S-systems,\\ S-invariants of S-nets, liveness theorem,\\ reachability lemma (proof is optional reading),\\ reachability theorem, boundedness theorem,\\ workflow S-nets// | | | 16 | Mon 11/11 | 11:00-13:00 | N1 | Prepration to mid-Term Exam | {{ :magistraleinformaticaeconomia:mpb:all-compiti.pdf |Past exercises}}\\ {{ :magistraleinformaticaeconomia:mpb:all-compiti-sol.pdf |Selected solutions}} | | | 17 | Wed 13/11 | 09:00-11:00 | C | Mid-Term Exam | {{ :magistraleinformaticaeconomia:mpb:testo-2019-11-13.pdf |Exam}} | | ==== Lectures (second half) ==== ^ N ^ Date ^ Time ^ Room ^ Lecture notes ^ Topics ^ Links ^ | - | Mon 18/11 | 11:00-13:00 | | **Canceled for weather alert** | | | | - | Wed 20/11 | 09:00-11:00 | | **Canceled** for allowing students to participate to the Contamination Lab | | | | 18 | Mon 25/11 | 11:00-13:00 | N1 | Solutions to mid-term exam\\ Exercises (from Lecture 15)\\ Exercises (from Lecture 16)\\ {{ :magistraleinformaticaeconomia:mpb:17-t-systems-short-2019.pdf |Lecture 17}}\\ Exercises (from Lecture 17)\\ {{ :magistraleinformaticaeconomia:mpb:18c-p-np-2019.pdf |A note on P and NP}} (optional reading)\\ {{ :magistraleinformaticaeconomia:mpb:18-free-choice-short-2019.pdf |Lecture 18}} (1st part) | T-systems:\\ //circuits and token count on a circuit,\\ fundamental property of T-systems,\\ T-invariants of T-nets,\\ boundedness in strongly connected T-systems,\\ liveness theorem for T-systems,\\ boundedness theorem for live T-systems,\\ workflow T-nets//\\ \\ Decision problems and computational complexity (optional reading)\\ \\ Free-choice nets:\\ //Fundamental property of free-choice nets// | | | - | Wed 27/11 | 09:00-11:00 | | **Canceled** | | | | 19 | Mon 02/12 | 11:00-13:00 | N1 | Lecture 18 (2nd part) | Free-choice nets:\\ //clusters, stability, siphons, proper siphons,\\ 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,\\ Rank theorem, S-cover, T-cover// | | | 20 | Wed 04/12 | 09:00-11:00 | C | Exercises (from Lecture 17)\\ Exercises (from Lecture 18)\\ {{ :magistraleinformaticaeconomia:mpb:19-wfnets-diagnosis-2019.pdf |Lecture 19}} | Diagnosis of Workflow nets:\\ //Woped, Woflan, ProM, TP-handles, PT-handles,\\ well-handled nets, well-structured wf nets,\\ error sequences, non-live sequences,\\ unbounded sequences// | [[http://woped.dhbw-karlsruhe.de/|Woped]]\\ [[http://www.win.tue.nl/woflan/|Woflan]]\\ [[http://www.processmining.org/prom/start|ProM]] | | 21 | Mon 09/12 | 11:00-13:00 | N1 | Exercises (from Lecture 19)\\ {{ :magistraleinformaticaeconomia:mpb:20-workflow-systems-2019.pdf |Lecture 20}}\\ Exercises (from Lecture 20)\\ {{ :magistraleinformaticaeconomia:mpb:21-epc-short-2019.pdf |Lecture 21}} (1st part) | Workflow systems:\\ //workflow modules, strong and weak compatibility,\\ workflow system, weak soundness//\\ \\ EPC:\\ //Notation, semantics ambiguities and problems,\\ corresponding split, matching split,\\ policies (wfa, fc, et), from EPC to nets\\ from EPC to free-choice nets// | [[http://www.yworks.com/en/products_yed_about.html|yEd]]\\ [[http://www.visual-paradigm.com/|VP]] | | 22 | Wed 11/12 | 09:00-11:00 | C | Exercises (from Lectures 20)\\ Exercises (from Lecture 21)\\ Lecture 21 (2nd part)\\ {{ :magistraleinformaticaeconomia:mpb:22-bpmn-2019.pdf |Lecture 22}} (1st part) | EPC:\\ //relaxed soundness, from EPC to nets again//\\ \\ BPMN:\\ //Notation, swimlanes, flow objects,\\ artefacts, connecting objects,\\ a few patterns// | [[http://www.yworks.com/en/products_yed_about.html|yEd]]\\ [[http://bpmn.sourceforge.net/|Yaoqiang]]\\ [[http://bpmn.io/|BPMN.io]]\\ [[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/|VP]]\\ [[http://www.processmining.org/prom/start|ProM]] | | 23 | Fri 13/12 | 11:00-13:00 | N1 | Lecture 22 (2nd part)\\ Exercises (from Lecture 22) | BPMN:\\ //conversations, choreographies,\\ collaborations, from BPMN to nets// | | | 24 | Mon 16/12 | 11:00-13:00 | N1 | {{ :magistraleinformaticaeconomia:mpb:23-quantitative-analysis-2019.pdf |Lecture 23}}\\ Exercises (from Lecture 23)\\ {{ :magistraleinformaticaeconomia:mpb:24-mining-2019.pdf |Lecture 24}} (1st part) | Quantitative analysis:\\ //Performance dimensions and objectives,\\ KPI, cyle time analysis, Little's law, cost analysis//\\ \\ Process mining:\\ //Intro// | | | 25 | Wed 18/12 | 09:00-11:00 | C | Lecture 24 (2nd part) | Process mining:\\ //Event logs, discovery, conformance,\\ enhancement, perspectives, play-in, play-out,\\ replay, overfitting, underfitting\\ alpha-algorithm, footprint matrix,\\ naive fitness, improved fitness,\\ comparing footprints (optional reading)// | [[http://www.processmining.org/prom/start|ProM]] | | end | | | | | | | ---- ==== Past courses ==== * [[magistraleinformaticaeconomia:mpb:2018-19:|A.A. 2018/19]] * [[magistraleinformaticaeconomia:mpb:2017-18:|A.A. 2017/18]] * [[magistraleinformaticaeconomia:mpb:2016-17:|A.A. 2016/17]] * [[magistraleinformaticaeconomia:mpb:2015-16:|A.A. 2015/16]] * [[magistraleinformaticaeconomia:mpb:2014-15:|A.A. 2014/15]] * [[magistraleinformaticaeconomia:mpb:2013-14:|A.A. 2013/14]]