Quick Information
Google Classroom:
access with course code xxx
(for course enrolment and course communications when activated).
- Academic Year: 2026/2027.
- Degree Programme: Bachelor's Degree L-8 in Ingegneria Elettronica e Informatica.
- Course Type: elective course, Type D.
- Year of Study: 3rd year.
- Teaching Period: First Semester.
- Credits and Hours: 6 CFU, 60 hours.
- Scientific Sector: IINF-04/A — Automatica.
- Teaching Language: English.
- CINECA Course Catalogue:
official course page.
The course, teaching material and examination are in English. Communications concerning lectures,
exercises, teaching material and examination sessions will be provided through the official course channels
and, when activated, through Google Classroom or other University teaching platforms.
Student Feedback and Well-being
Required Background
- Basic knowledge of mathematics, linear algebra and probability.
- Basic knowledge of automatic control, digital systems, programming and computer architecture may help students understand some application-oriented examples, although it is not strictly required.
- Students should be able to read simple mathematical notation, interpret graphs and state-transition diagrams, and solve elementary problems involving matrices, probabilities and logical reasoning.
- No previous specialised knowledge of Discrete Event Systems is required.
Learning Objectives and Expected Skills
The course aims to provide students with the fundamental concepts, modelling tools and analysis methods
for Discrete Event Systems, with particular attention to applications in automation, computer-controlled systems,
manufacturing systems, communication networks, embedded systems and service systems.
Discrete Event Systems are dynamic systems whose state evolution is driven by the asynchronous occurrence
of discrete events rather than by continuous-time variables. Typical examples include automated production lines,
robotic cells, transport systems, computer networks, communication protocols, embedded controllers,
resource-sharing systems and queueing systems.
The course introduces formal and computational tools for representing, analysing, simulating and controlling
systems characterised by logical states, events, concurrency, synchronisation, resource constraints and,
in some cases, timing and stochastic behaviour. The course also provides practical skills for building simple
models of Discrete Event Systems and for evaluating their qualitative and quantitative behaviour.
At the end of the course, students will be able to:
- Describe the basic concepts of Discrete Event Systems and distinguish them from continuous-variable dynamic systems.
- Model logical Discrete Event Systems using finite-state automata and formal languages.
- Analyse reachability, blocking, deadlock and basic behavioural properties of automaton models.
- Represent concurrency, synchronisation and resource sharing using Petri nets.
- Analyse basic structural and behavioural properties of Petri net models.
- Describe the role of timed and stochastic models in the analysis of event-driven systems.
- Build and interpret simple discrete-event simulation models.
- Apply basic Markov-chain and queueing-theory tools to performance evaluation problems.
- Formulate elementary supervisory-control problems for event-driven systems.
- Interpret modelling and simulation results in relation to engineering applications.
Course Contents
The course consists of 60 hours of teaching activities, including lectures, classroom exercises and
modelling/simulation tutorials. The following topics will be covered.
- Introduction to Discrete Event Systems. Definition and examples of event-driven dynamic systems. Comparison between continuous-variable dynamic systems and Discrete Event Systems. Events, states, transitions, trajectories, event sequences and system behaviour. Engineering applications in automation, manufacturing systems, computer networks, transport systems, embedded systems and service systems.
- Logical models of Discrete Event Systems. Finite-state automata. Deterministic and nondeterministic automata. Events, states, transition functions, initial states and marked states. Generated and marked languages. Regular languages and regular expressions. Composition of automata. Synchronous product and concurrent behaviour. Reachability analysis. Blocking and nonblocking behaviour.
- Supervisory control: basic concepts. Plant, specification and supervisor. Controllable and uncontrollable events. Observable and unobservable events. Basic notions of admissibility, controllability and nonblocking supervision. Simple examples of supervisor design for automation systems.
- Petri nets. Places, transitions, arcs, tokens and markings. Enabling and firing rules. Reachability graph. Boundedness, liveness and deadlock. Modelling of concurrency, synchronisation, mutual exclusion and resource sharing. Application examples from automated manufacturing, computer-controlled systems and embedded control.
- Timed Discrete Event Systems. Motivation for introducing time in event-driven models. Timed automata and timed event models. Timed behaviours, delays, clocks and elementary scheduling problems. Examples of systems with timing constraints.
- Stochastic Discrete Event Systems. Motivation for introducing uncertainty in event occurrence and system evolution. Stochastic event occurrence. Continuous-time Markov chains. State probabilities, transition rates and performance measures. Birth-death processes and elementary reliability and performance examples.
- Discrete-event simulation. Simulation clock, event list, event scheduling and next-event time advance. Structure of a discrete-event simulator. Random event generation. Estimation of performance indices from simulation runs. Verification and interpretation of simulation results. Simple examples related to manufacturing systems, service systems and communication networks.
- Queueing systems. Arrival processes, service processes, queues and servers. Basic queueing notation. Performance indices: utilisation, throughput, waiting time, response time and queue length. Elementary Markovian queueing systems. Introduction to queueing networks and resource-sharing systems.
- Applications and case studies. Modelling and analysis of automated production systems, robotic cells, traffic or transport systems, communication protocols, computer networks and service systems. Integration of logical modelling, Petri nets, stochastic models and simulation for engineering decision support.
Teaching Methods
The course is organised into lectures, classroom exercises and modelling/simulation tutorials.
- Lectures introduce the theoretical concepts, formal models and analysis methods for Discrete Event Systems.
- Classroom exercises apply the methods to simple but representative engineering problems, including automata, Petri nets, Markov chains, queueing systems and discrete-event simulation.
- Tutorial activities support the development of practical modelling skills and may include the construction and analysis of finite-state automata, Petri net models, simple stochastic models and discrete-event simulation examples.
- The teaching approach combines formal modelling, graphical representations, numerical exercises and application-oriented case studies, connecting theoretical tools with practical problems in automation, computer engineering and industrial systems.
Examination and Assessment
The examination aims to assess the achievement of the learning outcomes described above, with particular
reference to the ability to model, analyse and interpret the behaviour of Discrete Event Systems.
The examination consists of a written test. The test may include theoretical questions,
modelling exercises and numerical problems.
- Theoretical questions assess knowledge and understanding of the main concepts of the course, including automata, formal languages, Petri nets, supervisory control, timed models, stochastic models, Markov chains, queueing systems and discrete-event simulation.
- Modelling exercises may require students to construct or analyse finite-state automata, compose simple automata, verify reachability or nonblocking properties, build Petri net models, analyse markings and firing sequences, or interpret the behaviour of a model.
- Numerical problems may concern elementary stochastic models, continuous-time Markov chains, queueing systems or performance indices obtained from simulation or analytical calculations.
The final mark is expressed out of 30. The assessment takes into account the correctness of the theoretical
answers, the correctness and completeness of the models, the accuracy of the calculations, the consistency
of the assumptions adopted, the correct use of terminology and notation, and the ability to interpret the
obtained results in relation to engineering applications.
To pass the examination, students must obtain a final mark of at least 18/30.
The examination is held in English.
Teaching Material
The slides, lecture notes, exercises and supporting material provided by the lecturer cover the course syllabus
and represent the main material for examination preparation.
- Lecture slides and notes: materials will be progressively made available on this page during the semester.
- Exercises and solved examples: classroom and tutorial exercises will be progressively added.
- Modelling and simulation examples: examples concerning automata, Petri nets, timed and stochastic models, queueing systems and discrete-event simulation will be added as the course progresses.
- Course webpage: Silvio Simani — Teaching Activities.
- Google Classroom: course code
xxx, when activated.
Detailed Lecture Topics and Recorded Lectures
This section will be progressively updated during the First Semester. For each teaching day,
the lecture topic and, when available, the link to the recorded lecture will be reported.
Planned thematic blocks
- Introduction to Discrete Event Systems and engineering applications.
- Finite-state automata, formal languages and behavioural properties.
- Supervisory control of Discrete Event Systems.
- Petri nets and models of concurrency, synchronisation and resource sharing.
- Timed Discrete Event Systems and basic scheduling problems.
- Stochastic Discrete Event Systems and continuous-time Markov chains.
- Discrete-event simulation methods and implementation principles.
- Queueing systems and performance evaluation.
- Integrated engineering case studies.
MATLAB and Simulink Exercises and Recorded Tutorials
This section will collect the practical examples developed during classroom and laboratory activities.
For each exercise, MATLAB/Simulink files, supporting material and, when available, the corresponding
recorded tutorial will be provided.
Application Areas and Case Studies
Application-oriented examples may include the modelling, analysis and simulation of:
- Automated production lines and manufacturing systems.
- Robotic cells and resource-sharing systems.
- Traffic and transport systems.
- Computer networks and communication protocols.
- Embedded and computer-controlled systems.
- Service systems and queueing networks.
The objective is to combine logical modelling, Petri nets, stochastic models and simulation
to support engineering analysis and decision making.
References and Textbooks
The following textbooks are recommended for further study and are not compulsory for examination preparation:
- C. G. Cassandras and S. Lafortune, Introduction to Discrete Event Systems, Springer.
- W. M. Wonham and K. Cai, Supervisory Control of Discrete-Event Systems, Springer.
- J. L. Peterson, Petri Net Theory and the Modeling of Systems, Prentice Hall.
- W. Reisig, Understanding Petri Nets: Modeling Techniques, Analysis Methods, Case Studies, Springer.
- A. M. Law, Simulation Modeling and Analysis, McGraw-Hill.
- S. M. Ross, Introduction to Probability Models, Academic Press.
Sustainability and UN Sustainable Development Goals
The course contributes to the achievement of the following United Nations Sustainable Development Goals
of the 2030 Agenda:
- SDG 4 — Quality Education. The course provides students with formal modelling, analysis and simulation tools for event-driven engineering systems, supporting the development of rigorous and transferable problem-solving skills.
- SDG 9 — Industry, Innovation and Infrastructure. The course addresses modelling and analysis methods for automated manufacturing systems, computer-controlled systems, communication networks and service infrastructures, supporting the design and evaluation of reliable and efficient technological systems.
- SDG 11 — Sustainable Cities and Communities. The course introduces tools that can be applied to transport systems, traffic systems, logistics and service networks, supporting the analysis and improvement of complex event-driven infrastructures.
- SDG 12 — Responsible Consumption and Production. The course provides methods for analysing resource sharing, queues, synchronisation, blocking and system performance, which can support more efficient use of resources in production and service systems.
Course Coordination and Teaching Support
The course is coordinated by the lecturer responsible for the teaching activity, who is in charge of the
overall organisation of the course, the coherence of the syllabus and teaching material, examination preparation,
assessment procedures, and communication with students.
Part of the course may be delivered by an international visiting professor, who may contribute to lectures,
seminars, exercises, tutorials and/or application-oriented case studies on selected topics in Discrete Event Systems,
in line with their specific expertise and in coordination with the course lecturer.
The course lecturer and the visiting professor will coordinate teaching activities to ensure continuity across
the different parts of the course and consistency among lectures, exercises, teaching materials and learning outcomes.
The final assessment remains organised according to the examination methods described in the syllabus.
If tutors are available, they may support classroom exercises, modelling tutorials, simulation activities and
clarification sessions under the supervision of the course lecturer.
Office hours and individual support activities will be communicated by the lecturer at the beginning of the course.