Indice
Business Processes Modeling
MPB 2024/25 (295AA / 372AA, 6 cfu)
Lecturer: Roberto Bruni
Contact: web - email - phone 050 2212785 - fax 050 2212726
Office hours: 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), Process performance analysis. Process simulation. Process Mining.
Textbook(s)
- Business Process Management: Concepts, Languages, Architectures (book on BPM, main reference)
- Diagnosing workflow processes using Woflan (article on Formal Analysis of Workflows, recommended reading)
- Workflow Management: Models, Methods, and Systems (book on Workflow Management, optional reading)
- Free Choice Nets (book on Petri nets, optional reading)
- Fundamentals of Business Process Management (book on BPMN, optional reading)
- Process Mining (book on Process Mining, optional reading)
- Further bibliography and lecture notes will be indicated during the course.
Quick reference(s)
- PNML (Petri Nets Markup Language): XML-based standard for Petri nets
- BPMN: Quick guide
- XES (eXtensible Event Stream): XML-based standard for event logs
- RePROSitory: (Repository of open PROcess models and logS)
Tool(s)
- Woped: Workflow Petri Net Designer
- ProM: Process Mining Framework
- yEd: Graph Editor
- Yaoqiang BPMN Editor: BPMN Editor
- BPMN.io: BPMN Editor
- Camunda Modeler: BPMN Editor
- Bizagi Process Modeler: BPMN editor (Windows only)
- Visual Paradigm supports University of Pisa with UML tools and ERD tools under the VP Academic Training Partner Program
- YAWL: Yet Another Workflow Language platform
- BIMP: Business Process Simulator
Oral Exams: schedule
Date | Time | Name | Place | |
---|---|---|---|---|
day | date | time | session start | Microsoft Teams |
date | name | Project: Pending/Approved | ||
time | session end |
–
Exam
The evaluation will be based on a group project and an oral exam.
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.
Project FAQ
- What are the prerequisites for having a project assigned? There are no prerequisites, but the teacher will assume that you have already studied all the material of the course (if this is not the case, then it is very likely that you won't be able to deliver the project in time).
- How many people can work together on the same project? Projects are assigned to individuals or to groups of two people. Exceptionally, groups of three people can be allowed, but a solid motivation is needed.
- When is it possible to request the project description? After the end of the lectures, any (working) day of the year.
- How do we request a project description? By sending an email to the teacher (possibly including the text
BPM project request
in the object, and mandatorily including full names, student ids and email addresses of all students in the group). The teacher will then reply (in a few days) with the project description. - Which graphical notation should we use in the modelling? You decide: typically EPC is fine for representing orchestrations, BPMN for both orchestration and choreography (collaboration diagrams).
- Which tools should we use to design EPC diagrams or BPMN diagrams? Some tools are suggested in this page, but you are free to evaluate any other tool and then choose the one that you prefer. For example some cross-platform tools are: yEd is versatile, user-friendly, has powerful automatic layout features but cannot export diagrams in .epml and .bpmn formats; Visual Paradigm online is also versatile and can export diagrams in several formats; Camunda modeler offers the essential features for drawing nice BPMN diagrams. Please, briefly motivate your choice in the report.
- Which tools should we use for soundness analysis of workflow nets? My suggestion is to try to use Woped first, and then Woflan as a backup (as a Microsoft Windows application or as a ProM plugin, running on all platforms) if Woped is not responding fast enough or you like to collect information about error sequences to repair your model. If you find out other tools that can be used to the purpose, feel free to use them as well.
- How do we convert graphical diagrams into workflow nets? I am afraid the short answer is: manually. ProM offers some plugins but the outcome is very different and typically more complex than the one presented in the course. If you find other tools that can help you to speed up the conversion, feel free to use them.
- When is the deadline for submitting the project? The deadline will be sent by the teacher together with the project description: typically it leaves three weeks to complete the project (but vacation periods are taken into account).
- What does it happen if we miss the deadline? You will have to request a new project, unless you inform the teacher a few days before the deadline, asking for a short extension of the deadline and explaining the reasons for the delay.
- What does it happen if a person leaves the group? You must notify immediately the teacher and choose if you prefer to complete the work individually or to request another project later on.
- How do we deliver the project? You must send the teacher a short project report in .pdf format together with the source files of all diagrams and nets you designed. Optionally, you can submit the soundness analysis checklist (available on the Microsoft Teams channel) for any of your model.
- When do we discuss the project? Preferably, at the first exam session that follows the delivery of the project.
- Is it necessary to have already delivered the project in order to register for the exam? No it is not. But of course the project must be delivered in time for being discussed at the actual oral exam.
Exam FAQ
- How do we register for the exam? As usual, you must enter your choice on the ESAMI portal.
- What are the dates of the exam? THE DATES ADVERTISED IN THE ESAMI PORTAL ARE NOT NECESSARILY THOSE OF THE ACTUAL EXAM. After you register for the exam, on the basis of the projects received and any other constraint communicated by each student, the teacher will post a tentative schedule on this web page and will inform you by email or on Teams.
- How is the exam organized? The exam is oral and it is organised in two parts: the first part will focus on the project discussion, the second part will involve all topics covered by the course.
- How is the project discussion organized? ALL GROUP MEMBERS MUST BE PRESENT TO THE PROJECT DISCUSSION. All group members must demonstrate they have participated to all the activites of the project. A negative evaluation of the project may require to rework some parts, submit a revised report and schedule a new exam (possibly at the next exam session). A positive evaluation of the project allows each group member to access the second part of the exam.
- How is the second part of the exam organized? DIFFERENT GROUP MEMBERS CAN ASK TO SCHEDULE THE SECOND PART OF THE EXAM ON DIFFERENT DAYS. Questions may involve (but are not limited to): most relevant concepts, definitions, terminology and techniques; their intuitive meaning and formalization; proof sketches of formal statements; small-sized exercises. Arguments marked as optional in the lectures table below can be discussed upon student request.
- Is it possible to pass the first part of the exam and fail the second? Let's hope it won't happen, but yes, it is possible, in which case the student will need to register for one of the next exam sessions. Depending on each single case, a new project may also be assigned.
Announcements
- The Lectures of Thursday October 10 and Friday October 11 are canceled due to UniPi-Orienta activities. They have been rescheduled on Tuesday November 5 and Tuesday November 12 (9:00-11:00, room M1)
- The Lecture of Thursday September 26 is canceled due to conflicting institutional activities of the teacher
- as the course starts:
Please spend a few minutes to fill the form Background Check that will be helpful to tune the pace and content of the course.
Lectures (first half)
Microsoft Teams: Additional material is available on Teams.
N | Date | Time | Room | Lecture notes | Topics | Links |
---|---|---|---|---|---|---|
1 | 19/09 | 16:00-18:00 | L1 | Lecture 1 | Course introduction: course objectives, textbooks, BPM aim and motivation, models and abstraction | |
2 | 20/09 | 16:00-18:00 | L1 | Lecture 2 | Introduction to Business Processes: Taylorism, work units, processes, terminology, organizational structures, process orientation and reengineering, visual notations | |
- | 26/09 | 16:00-18:00 | Lecture canceled due to conflicting institutional activities | |||
3 | 27/09 | 16:00-18:00 | L1 | Exercises Lecture 3 | Exercises: Alice-Bob car selling scenario Examples: Orchestration diagrams, collaboration diagrams, choreography diagrams | |
4 | 03/10 | 16:00-18:00 | L1 | Exercises Lecture 4 (1st part) | Examples and Exercises: Travel agency ochestration, coffe break example, buyers and resellers collaborations Models and abstraction: visual modelling, horizontal abstraction, modelling levels, models and instances, a generic process meta-model, aggregation abstraction, granularity levels, functional decomposition, vertical abstraction, separation of concerns, modelling domains, function models, information models, organization models, roles, IT landscape models, process models | |
5 | 04/10 | 16:00-18:00 | L1 | Lecture 4 (2nd part) Lecture 5 | Models and abstraction: vertical abstraction, separation of concerns, modelling domains, function models, information models, organization models, roles, IT landscape models, process models Business Processes Lifecyle: levels of business processes, business strategies, operational goals, organizational BP, operational BP, lifecycle, design and analysis phase, identification, modelling guidelines, validation, simulation, verification, configuration phase, platform selection, software architecture, individual enterprise applications, enterprise resource planning system, siloed enterprise applications, enterprise application integration, point-to-point integration, hub-and-spoke integration, enterprise service computing, system workflows, human interaction workflows, testing, enactment phase, event logs, logging, evaluation phase, activity monitoring, mining, administration phase, stakeholders | |
- | 10/10 | 16:00-18:00 | Lecture canceled due to UniPi-Orienta activities | |||
- | 11/10 | 16:00-18:00 | Lecture canceled due to UniPi-Orienta activities | |||
6 | 17/10 | 16:00-18:00 | L1 | Lecture 6 | EPC: Event-driven Process Chain, events, functions, connectors, EPC diagrams, guidelines, diagram repair, function annotations, EPML, folder-passing semantics, candidate split, corresponding split, matching split, OR-join policies (wait-for-all, first-come, every-time), examples | VP yEd |
7 | 18/10 | 16:00-18:00 | L1 | Lecture 7 (1st part) | EPC: BPMN: Notation, swimlanes | VP yEd |
8 | 16:00-18:00 | L1 | Lecture 7 (2nd part) | BPMN: flow objects, artefacts, connecting objects, collaborations, choreographies | yEd Yaoqiang BPMN.io Camunda Bizagi VP |
|
9 | 16:00-18:00 | L1 | Exercises (from Lectures 6 and 7) Lecture 8 (1st part) | Exercises: EPC and BPMN modelling From automata to nets: Inductive definitions, Kleene star, finite state automata, transition function, destination function, language accepted by an automaton | ||
10 | 16:00-18:00 | L1 | Lecture 8 (2nd part) Lecture 9 (1st part) | From automata to nets: from automata to Petri nets, places, transitions, tokens Petri nets basics: multisets and markings, transition enabling and firing, firing sequences, reachable markings Woped basics | Woped | |
11 | 16:00-18:00 | L1 | Exercises (from Lectures 8 and 9) Lecture 9 (2nd part) Lecture 10 (1st part) | Exercises: automata and Petri nets Petri nets basics: occurrence graph, modelling with Petri nets, examples and exercises Woped basics Behavioural properties: liveness, non live transitions, dead transitions | ||
12 | 16:00-18:00 | L1 | Exercises (from Lecture 10) Lecture 10 (2nd part) | Exercises: modelling with Petri nets Behavioural properties: place liveness, non live places, dead places, deadlock freedom, boundedness, safeness |
Lectures (second half)
Microsoft Teams: Additional material is available on Teams.
N | Date | Time | Room | Lecture notes | Topics | Links |
---|---|---|---|---|---|---|
13 | 16:00-18:00 | L1 | Exercises (from Lecture 10) Lecture 10 (3rd part) Lecture 11 (1st part) | Exercises: behavioural properties Behavioural properties: home marking, cyclicity Structural properties: weak and strong connectedness, S-systems, T-systems, free-choice nets Nets as matrices: markings as vectors, incidence matrices | ||
14 | 16:00-18:00 | L1 | Lecture 11 (2nd part) Exercises (from Lectures 10 and 11) Lecture 12 (1st part) | Nets as matrices: Parikh vectors, marking equation lemma, monotonicity lemma (1, 2 and corollary), boundedness lemma, repetition lemma Exercises: structural properties, net as matrices Invariants: S-invariants, fundamental property of S-invariants, alternative characterization of S-invariant | ||
15 | 16:00-18:00 | L1 | Lecture 12 (2nd part) Exercises (from Lecture 12) Lecture 13 (1st part) | Invariants: support, positive S-invariants, S-invariants and boundedness, S-invariants and liveness, S-invariants and reachability, T-invariants, fundamental property of T-invariants, alternative characterization of T-invariants, reproduction lemma, about liveness and boundedness, two connectedness theorems Exercises: invariants Workflow nets: definition, syntax sugar, subprocesses | ||
16 | 16:00-18:00 | L1 | Lecture 13 (2nd part) Lecture 14 (1st part) | Workflow nets: control flow aspects, triggers Exercise: modelling with workflow nets Analysis of workflow nets: structural analysis, activity analysis, token analysis, net analysis, verification and validation, reachability analysis, bags, coverability graph, soundness, N* | Woped | |
17 | 16:00-18:00 | L1 | Exercises (from Lectures 13 and 14) Lecture 14 (2nd part) Lecture 15 Lecture 16 | Exercises: workflow nets and soundeness Analysis of workflow nets: strong connectedness of N*, main soundness theorem Safe Workflow nets: soundness (and safeness) by construction S-systems: fundamental property of S-systems, S-invariants of S-nets, liveness theorem, reachability lemma, reachability theorem, boundedness theorem, workflow S-nets | Woped | |
18 | 16:00-18:00 | L1 | Exercises (from Lectures 15 and 16) Lecture 17 A note on P and NP (optional reading) 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, workflow T-nets Decision problems and computational complexity (optional reading) Free-choice nets: Fundamental property of free-choice nets, place-liveness = liveness in f.c. nets, Commoner's theorem, Rank theorem, clusters, stable sets, siphons, proper siphons, fundamental property of siphons, siphons and liveness Exercises: soundness by construction, S-nets properties, T-nets properties | ||
19 | 16:00-18:00 | L1 | Exercises (from Lectures 14 and 18) Lecture 18 (2nd part) Lecture 20 (1st part) | Free-choice nets: traps, Commoner's theorem and its complexity issues, Rank theorem and its complexity issues EPC: soundness analysis, from EPC to wf nets, net fragments, dummy style, fusion style, unique start, unique end, three transformations, semantics ambiguities, relaxed sound nets, relaxed sound EPC diagrams Exercises: workflow net analysis with Woped, properties of free-choice nets, workflow systems | Woped | |
20 | 16:00-18:00 | L1 | Lecture 20 (2nd part) Lecture 19 Lecture 21 (1st part) | EPC: from restricted EPC diagrams to f.c. nets, problems with (X)OR joins, OR join policies (wfa, fc, et), from decorated EPC diagrams to nets Workflow systems: I/O interfaces, workflow modules, stuctural compatibility, workflow system, weak soundness BPMN: from BPMN diagrams to nets | VP yEd Woped |
|
21 | 16:00-18:00 | L1 | Exercises (from Lectures 18, 19, 20) Lecture 21 (2nd part) Lecture 22 (1st part) | Exercises: free-choice nets, workflow systems, EPC analysis BPMN: from BPMN collaboration diagrams to nets Diagnosis of Workflow nets: Woped, S-components, S-cover, sound f.c wf nets are safe, TP-handles, PT-handles, well-handled nets, well-structured wf nets | yEd Yaoqiang BPMN.io Camunda Bizagi VP Woped |
|
22 | 16:00-18:00 | L1 | Lecture 22 (2nd part) Lecture 23 (1st part) | Diagnosis of Workflow nets: Woflan, ProM, error sequences, non-live sequences, unbounded sequences Process mining: intro, Event logs, discovery, conformance, enhancement, perspectives, play-in, play-out, replay, overfitting, underfitting, alpha-algorithm, footprint matrix, naive fitness, improved fitness | Woped Woflan ProM |
|
23 | 16:00-18:00 | L1 | Lecture 23 (2nd part) Lecture 24 | Exercises: workflow nets analysis Process mining: comparing footprints Quantitative analysis: Performance dimensions and objectives, KPI, cyle time analysis, Little's law, cost analysis A final note (with project instructions) | ||
24 | 16:00-18:00 | L1 | Questions and answers | |||
end |
Exam sessions
Date | Time | Room | Info | |
---|---|---|---|---|
day | date | time | Teams | Exam Exams registration system The actual date of the oral exam will be agreed with the teacher |