Modelisation et Commande des Systemes a Evenements Discrets - S5
Annee: 2022-2023 (Semestre 5)
Credits: 2 ECTS
Type: Automatique et Systemes
Enseignant: Vignolles
PART A: PRESENTATION GENERALE
Objectifs du cours
Ce cours introduit la modelisation et la commande des systemes a evenements discrets (SED), systemes dont l'evolution est declenchee par des evenements discrets plutot que par le temps continu. Ces systemes sont omnipresents dans l'industrie (lignes de production, systemes de transport), l'informatique (protocoles, workflows) et la robotique. Le cours couvre les automates finis et les reseaux de Petri, outils fondamentaux pour modeliser, analyser et commander ces systemes.
Competences visees
- Modeliser des systemes industriels avec automates et reseaux de Petri
- Analyser les proprietes des systemes (vivacite, blocage, atteignabilite)
- Concevoir des superviseurs pour garantir des specifications
- Utiliser des logiciels de simulation (AutomDiscrete)
- Implementer des automates sur automates programmables (grafcet)
- Detecter et resoudre les problemes de synchronisation et blocages
Organisation
- Volume horaire: 20h (CM: 10h, TD: 6h, TP: 4h)
- Evaluation: Examen ecrit (70%) + TPs (30%)
- Semestre: 5 (2022-2023)
- Prerequis: Logique, algebre de base, notions d'automatique
PART B: EXPERIENCE, CONTEXTE ET FONCTION
Contenu pedagogique
Le cours s'organise autour de deux formalismes complementaires: les automates et les reseaux de Petri.
1. Systemes a Evenements Discrets
Caracteristiques principales:
Les SED evoluent par sauts discrets declenches par des evenements:
- Etats discrets: nombre fini ou denombrable d'etats
- Evenements: actions instantanees causant des transitions
- Evolution asynchrone: pas de synchronisation globale
- Non-determinisme: plusieurs transitions possibles depuis un etat
- Concurrence: plusieurs processus simultanes
Exemples typiques:
- Systeme de tri de pieces (TP principal)
- Feux de circulation
- Distributeur automatique
- Ligne de production manufacturiere
- Protocole de communication
Difference avec systemes continus:
| Critere | Systemes continus | Systemes discrets |
|---|---|---|
| Etats | Continus (reels) | Discrets (entiers) |
| Temps | Evolution continue | Evenements instantanes |
| Modele | Equations differentielles | Automates, Petri |
| Exemple | Regulation temperature | Ligne d'assemblage |
2. Automates a Etats Finis
Definition:
Un automate est defini par:
- E : ensemble d'etats
- e0 : etat initial
- Σ : alphabet d'evenements
- δ : fonction de transition (E × Σ → E)
- Em : etats marques (acceptants)
Representation graphique:
[e1] --a--> [e2] --b--> [e3]
| |
+----------c------------+
Etats = cercles, transitions = fleches etiquetees, etat initial = fleche entrante.
Exemple TD: Distributeur de boissons:
Etats:
- e0 : attente
- e1 : 50 centimes inseres
- e2 : 1 euro insere
- e3 : boisson servie
Evenements:
- p50 : insertion 50 centimes
- p100 : insertion 1 euro
- serv : servir boisson
- annul : annulation
Determinisme vs non-determinisme:
Automate deterministe: une seule transition possible pour chaque couple (etat, evenement).
Automate non-deterministe: plusieurs transitions possibles.
Operations sur automates:
Produit synchrone: combine deux automates avec synchronisation sur evenements communs.
Utilise pour modeliser des systemes composes de plusieurs sous-systemes interagissant.
Accessibilite: un etat est accessible s'il existe un chemin depuis l'etat initial.
Co-accessibilite: un etat est co-accessible s'il existe un chemin vers un etat marque.
Trim: automate ne contenant que les etats accessibles et co-accessibles.
3. Reseaux de Petri
Structure de base:
Un reseau de Petri comprend:
- Places (cercles): contiennent des jetons
- Transitions (rectangles): evenements
- Arcs orientes: places → transitions ou transitions → places
- Marquage M: nombre de jetons dans chaque place
Regle de tir:
Une transition est franchissable si toutes les places d'entree contiennent au moins un jeton.
Apres franchissement:
- Retirer un jeton de chaque place d'entree
- Ajouter un jeton a chaque place de sortie
Exemple: Producteur-Consommateur:
(Buffer vide) --produire--> (Buffer plein) --consommer--> (Buffer vide)
Places: Buffer vide (1 jeton initial), Buffer plein (0 jeton)
Transitions: produire, consommer
Proprietes importantes:
Bornage: nombre maximal de jetons dans une place.
- Reseau borne: toutes les places ont un nombre limite de jetons
- Reseau sauf (safe): maximum 1 jeton par place
Vivacite: une transition est vivante si elle peut toujours etre franchie dans le futur (pas de blocage definitif).
Reinitialisabilite: possibilite de revenir au marquage initial.
Blocage (deadlock): marquage ou aucune transition n'est franchissable.
Analyse par graphe de marquages:
Graphe representant tous les marquages atteignables et les transitions entre eux.
Permet de:
- Detecter les blocages
- Verifier le bornage
- Analyser la vivacite
- Calculer les etats accessibles
4. Modelisation de Systemes Industriels
Systeme de tri de pieces (TP):
Composants:
- Tapis d'entree (T_ON) et de sortie (C_ON)
- Capteurs: entree tapis, detection metal, detection autre
- Bacs de sortie: metal (B1), autre (B2), rebut (B)
- Verins pour diriger les pieces
Etats du systeme:
- Etat 0: attente (tapis arretes)
- Etat 1: demarrage (tapis en marche)
- Etat 2: piece detectee (temporisation)
- Etat 3: identification piece
- Etats 4,5,6: tri selon categorie
Logique de commande (automate programmable):
IF (STATE_TRI = 0) THEN
T_ON := 0; // Tapis arrete
C_ON := 0;
IF ((P_g1=1) AND (P_g2=1) AND (P_g3=1)) THEN
STATE_TRI := 1; // Tous les bacs vides, demarrer
END_IF;
END_IF;
IF (STATE_TRI = 1) THEN
T_ON := 1; // Demarrer tapis
C_ON := 1;
IF (Pp_entreeTapis = 1) THEN
STATE_TRI := 2; // Piece detectee
END_IF;
END_IF;
IF (STATE_TRI = 3) THEN
IF ((p_autre=1) AND (p_metal=1)) THEN
STATE_TRI := 5; // Piece metallique
ELSIF (p_autre=1) THEN
STATE_TRI := 6; // Autre piece
ELSE
STATE_TRI := 4; // Rebut
END_IF;
END_IF;
Temporisations:
Les timers permettent d'attendre la stabilisation des capteurs:
- Timer1, Timer2, Timer3: temporisations de 2s ou 1s
- Evitent les fausses detections
5. Grafcet et Automates Programmables
Grafcet (Graphe Fonctionnel de Commande Etape-Transition):
Representation graphique pour automatismes industriels:
- Etapes (carres numerotes): etats du systeme
- Transitions (traits horizontaux): conditions de passage
- Actions associees aux etapes
- Liaisons orientees
Regles d'evolution:
- Etape initiale active au demarrage
- Transition franchie si etape amont active ET condition vraie
- Activation etape aval et desactivation etape amont
Conversion Grafcet → Automate programmable:
Le grafcet se traduit directement en code pour API (Automate Programmable Industriel) en langage structure ou ladder.
6. Synthese de Superviseurs
Principe:
Concevoir un controleur (superviseur) qui restreint le comportement du systeme pour respecter des specifications.
Specifications typiques:
- Eviter les blocages
- Garantir la securite (etats interdits)
- Maximiser la productivite
- Respecter des sequences obligatoires
Evenements controlables vs non-controlables:
Controlables: le superviseur peut empecher leur occurrence (ex: demarrer machine).
Non-controlables: arrivent spontanement (ex: piece arrivee, panne).
Methode:
- Modeliser le systeme (automate ou Petri)
- Definir les specifications (etats ou comportements interdits)
- Calculer le superviseur (restreindre les transitions)
- Verifier les proprietes (non-blocage, controlabilite)
PART C: ASPECTS TECHNIQUES
Travaux Pratiques
TP1: Systeme de tri automatique
Objectif: modeliser et simuler un systeme de tri de pieces sur tapis avec le logiciel AutomDiscrete.
Cahier des charges:
- Tri de 3 categories: metal, autre, rebut
- 3 bacs de sortie avec capteurs de niveau
- Capteurs de detection: metal, autre matiere
- Temporisations pour stabilisation
- Arret automatique si bacs pleins
Modelisation par automate:
Etats du systeme: 7 etats (0 a 6)
- 0: Repos
- 1: Tapis en marche
- 2: Temporisation apres detection
- 3: Identification de la piece
- 4: Tri rebut
- 5: Tri metal
- 6: Tri autre
Evenements:
- Bacs vides (P_g1, P_g2, P_g3)
- Piece entree tapis
- Fin temporisation
- Detection metal, autre
- Bacs pleins
Implementation logiciel AutomDiscrete:
Outil graphique permettant:
- Dessiner l'automate (etats, transitions)
- Definir les evenements et actions
- Simuler l'evolution du systeme
- Exporter en code automate programmable
Code genere (extrait):
Variables:
- STATE_TRI: etat courant
- T_ON, C_ON: commandes tapis
- B_OFF, B1_ON, B2_ON: commandes verins
- P1-P6: etats internes
- Timers pour temporisations
Tests et validation:
- Scenario nominal: tri correct selon categorie
- Cas limites: bacs pleins, pieces successives rapides
- Gestion erreurs: capteurs defaillants
Travaux Diriges
TD1: Automates de base
Exercices:
- Modeliser un distributeur de boissons
- Calculer le produit synchrone de deux automates
- Determiner les etats accessibles et co-accessibles
- Minimiser un automate
TD2: Reseaux de Petri
Exercices:
- Modeliser un systeme producteur-consommateur
- Calculer le graphe de marquages
- Analyser la vivacite et le bornage
- Detecter les blocages potentiels
TD: Systeme manufacturier
Modelisation d'une cellule flexible avec:
- Machines en parallele
- Buffers limites
- Ressources partagees (robot)
- Analyse des deadlocks
Outils Logiciels
AutomDiscrete:
- Editeur graphique d'automates
- Simulation pas a pas
- Export en grafcet et code API
- Version utilisee: v4.0
Autres outils:
- PIPE: editeur de reseaux de Petri
- TINA: analyse de Petri temporises
- Supremica: synthese de superviseurs
- Stateflow (Simulink): automates dans MATLAB
Methodologie de Conception
Etapes pour modeliser un systeme:
- Identifier les etats: situations distinctes du systeme
- Lister les evenements: actions declenchant changements
- Definir les transitions: conditions de passage entre etats
- Specifier les actions: sorties associees aux etats ou transitions
- Valider: simulation et verification proprietes
Choix entre automates et Petri:
Utiliser automates si:
- Systeme avec etats bien definis
- Sequences d'evenements lineaires
- Peu de concurrence
Utiliser reseaux de Petri si:
- Forte concurrence entre processus
- Ressources partagees
- Synchronisations complexes
- Systemes distribues
PART D: ANALYSE ET REFLEXION
Competences acquises
Modelisation:
- Capacite a abstraire un systeme reel en modele formel
- Choix du formalisme adapte (automate vs Petri)
- Representation graphique claire et structuree
Analyse:
- Detection de blocages et situations dangereuses
- Verification de proprietes (vivacite, bornage)
- Evaluation de performances (temps de cycle)
Conception:
- Synthese de lois de commande garantissant specifications
- Implementation sur automates programmables
- Tests et validation de systemes automatises
Applications pratiques
Les SED sont omnipresents dans l'industrie et l'informatique:
Industrie manufacturiere:
- Lignes d'assemblage automobile
- Systemes de tri postal
- Chaines de conditionnement alimentaire
- Ateliers flexibles
Transport et logistique:
- Controle de feux de circulation
- Gestion de flottes de vehicules
- Systemes de metro automatique
- Entrepots automatises
Informatique:
- Protocoles reseau (TCP/IP)
- Workflows d'entreprise
- Systemes d'exploitation (ordonnancement)
- Applications reactives
Robotique:
- Coordination multi-robots
- Taches sequentielles complexes
- Interaction avec environnement
Liens avec autres cours
| Cours | Semestre | Lien avec SED |
|---|---|---|
| Logique Sequentielle | S5 | Machines d'etats, FSM |
| Systemes Boucles | S5 | Automatique, commande |
| Programmation Orientee Objet | S7 | Patterns etat (State pattern) |
| Temps Reel | S8 | Ordonnancement, synchronisation |
| Reseaux de Petri | S8 | Approfondissement Petri |
Perspectives et extensions
Systemes hybrides:
Combinaison de dynamique continue (equations differentielles) et evenements discrets.
Exemple: thermostat (temperature continue, chauffage on/off).
Diagnostic et supervision:
Utilisation d'automates observateurs pour detecter pannes et anomalies.
Optimisation:
Minimisation temps de cycle, maximisation throughput avec Petri temporises.
Verification formelle:
Model checking pour prouver l'absence de bugs dans protocoles et systemes critiques.
Recommandations
Pour reussir le cours:
- Bien comprendre la difference etats/evenements
- Pratiquer la modelisation graphique (dessiner les automates)
- Tester systematiquement avec simulation
- Analyser les cas limites (bacs pleins, erreurs capteurs)
Ressources complementaires:
- Cassandras & Lafortune: "Introduction to Discrete Event Systems"
- David & Alla: "Reseaux de Petri et Grafcet"
- Cours en ligne sur automates finis (theorie des langages)
Mon opinion
Ce cours offre une perspective differente de l'automatique classique (systemes continus). Il est particulierement utile pour comprendre les systemes industriels reels ou la notion d'evenements discrets est naturelle.
Points forts:
- Approche graphique intuitive (automates, Petri)
- Applications concretes immediates (industrie)
- Outils logiciels facilitant la modelisation
- Lien direct avec automates programmables
Complementarite:
Les SED completent parfaitement les cours de systemes continus. Dans la realite, beaucoup de systemes sont hybrides (ex: robot avec controle position continue + sequences de taches discretes).
Importance professionnelle:
Competences tres recherchees dans l'automatisation industrielle, la robotique, et les systemes embarques. Les grafcets sont le langage standard des automaticiens.
Applications futures:
Ces concepts se retrouvent dans les cours de S8 (Temps Reel, Reseaux de Petri avances) et dans les projets industriels (automatisation, supervision).
Bilan personnel: Ce cours a apporte une vision complementaire de l'automatique, centree sur les evenements plutot que le temps. La modelisation par automates et reseaux de Petri est intuitive et directement applicable aux systemes industriels. Le TP sur le systeme de tri a permis de concretiser ces concepts avec un cas reel d'automatisation.
Modeling and Control of Discrete Event Systems - S5
Year: 2022-2023 (Semester 5)
Credits: 2 ECTS
Type: Control Systems and Automation
Instructor: Vignolles
PART A: GENERAL OVERVIEW
Course Objectives
This course introduces the modeling and control of Discrete Event Systems (DES), systems whose evolution is triggered by discrete events rather than continuous time. These systems are ubiquitous in industry (production lines, transportation systems), computer science (protocols, workflows), and robotics. The course covers finite automata and Petri nets, which are fundamental tools for modeling, analyzing, and controlling these systems.
Targeted Skills
- Model industrial systems using automata and Petri nets
- Analyze system properties (liveness, deadlock, reachability)
- Design supervisors to guarantee specifications
- Use simulation software (AutomDiscrete)
- Implement automata on programmable logic controllers (Grafcet)
- Detect and resolve synchronization problems and deadlocks
Organization
- Course hours: 20h (Lectures: 10h, Tutorials: 6h, Labs: 4h)
- Assessment: Written exam (70%) + Labs (30%)
- Semester: 5 (2022-2023)
- Prerequisites: Logic, basic algebra, fundamentals of control theory
PART B: EXPERIENCE, CONTEXT AND FUNCTION
Course Content
The course is organized around two complementary formalisms: automata and Petri nets.
1. Discrete Event Systems
Key characteristics:
DES evolve through discrete jumps triggered by events:
- Discrete states: finite or countable number of states
- Events: instantaneous actions causing transitions
- Asynchronous evolution: no global synchronization
- Non-determinism: multiple possible transitions from a state
- Concurrency: multiple simultaneous processes
Typical examples:
- Part sorting system (main lab project)
- Traffic lights
- Vending machine
- Manufacturing production line
- Communication protocol
Comparison with continuous systems:
| Criterion | Continuous systems | Discrete systems |
|---|---|---|
| States | Continuous (real-valued) | Discrete (integer-valued) |
| Time | Continuous evolution | Instantaneous events |
| Model | Differential equations | Automata, Petri nets |
| Example | Temperature regulation | Assembly line |
2. Finite State Automata
Definition:
An automaton is defined by:
- E: set of states
- e0: initial state
- Σ: event alphabet
- δ: transition function (E × Σ → E)
- Em: marked (accepting) states
Graphical representation:
[e1] --a--> [e2] --b--> [e3]
| |
+----------c------------+
States = circles, transitions = labeled arrows, initial state = incoming arrow.
Tutorial example: Vending machine:
States:
- e0: idle
- e1: 50 cents inserted
- e2: 1 euro inserted
- e3: drink served
Events:
- p50: insert 50 cents
- p100: insert 1 euro
- serv: serve drink
- annul: cancel
Determinism vs non-determinism:
Deterministic automaton: only one possible transition for each (state, event) pair.
Non-deterministic automaton: multiple possible transitions.
Operations on automata:
Synchronous product: combines two automata with synchronization on shared events.
Used to model systems composed of multiple interacting subsystems.
Accessibility: a state is accessible if there exists a path from the initial state.
Co-accessibility: a state is co-accessible if there exists a path to a marked state.
Trim: automaton containing only accessible and co-accessible states.
3. Petri Nets
Basic structure:
A Petri net consists of:
- Places (circles): contain tokens
- Transitions (rectangles): events
- Directed arcs: places → transitions or transitions → places
- Marking M: number of tokens in each place
Firing rule:
A transition is fireable if all input places contain at least one token.
After firing:
- Remove one token from each input place
- Add one token to each output place
Example: Producer-Consumer:
(Buffer empty) --produce--> (Buffer full) --consume--> (Buffer empty)
Places: Buffer empty (1 initial token), Buffer full (0 tokens)
Transitions: produce, consume
Important properties:
Boundedness: maximum number of tokens in a place.
- Bounded net: all places have a limited number of tokens
- Safe net: maximum 1 token per place
Liveness: a transition is live if it can always be fired in the future (no permanent deadlock).
Reversibility: ability to return to the initial marking.
Deadlock: a marking where no transition is fireable.
Reachability graph analysis:
A graph representing all reachable markings and the transitions between them.
Allows to:
- Detect deadlocks
- Verify boundedness
- Analyze liveness
- Compute reachable states
4. Modeling Industrial Systems
Part sorting system (Lab):
Components:
- Input conveyor (T_ON) and output conveyor (C_ON)
- Sensors: conveyor entry, metal detection, other detection
- Output bins: metal (B1), other (B2), reject (B)
- Actuators to direct the parts
System states:
- State 0: idle (conveyors stopped)
- State 1: startup (conveyors running)
- State 2: part detected (timer delay)
- State 3: part identification
- States 4,5,6: sorting by category
Control logic (programmable logic controller):
IF (STATE_TRI = 0) THEN
T_ON := 0; // Conveyor stopped
C_ON := 0;
IF ((P_g1=1) AND (P_g2=1) AND (P_g3=1)) THEN
STATE_TRI := 1; // All bins empty, start
END_IF;
END_IF;
IF (STATE_TRI = 1) THEN
T_ON := 1; // Start conveyor
C_ON := 1;
IF (Pp_entreeTapis = 1) THEN
STATE_TRI := 2; // Part detected
END_IF;
END_IF;
IF (STATE_TRI = 3) THEN
IF ((p_autre=1) AND (p_metal=1)) THEN
STATE_TRI := 5; // Metal part
ELSIF (p_autre=1) THEN
STATE_TRI := 6; // Other part
ELSE
STATE_TRI := 4; // Reject
END_IF;
END_IF;
Timers:
Timers allow waiting for sensor stabilization:
- Timer1, Timer2, Timer3: delays of 2s or 1s
- Prevent false detections
5. Grafcet and Programmable Logic Controllers
Grafcet (Sequential Function Chart):
Graphical representation for industrial automation:
- Steps (numbered squares): system states
- Transitions (horizontal bars): passage conditions
- Actions associated with steps
- Directed links
Evolution rules:
- Initial step is active at startup
- Transition fires if upstream step is active AND condition is true
- Downstream step activation and upstream step deactivation
Grafcet → PLC conversion:
The Grafcet translates directly into code for PLCs (Programmable Logic Controllers) in structured text or ladder language.
6. Supervisor Synthesis
Principle:
Design a controller (supervisor) that restricts the system behavior to meet specifications.
Typical specifications:
- Avoid deadlocks
- Guarantee safety (forbidden states)
- Maximize productivity
- Enforce mandatory sequences
Controllable vs uncontrollable events:
Controllable: the supervisor can prevent their occurrence (e.g., start machine).
Uncontrollable: occur spontaneously (e.g., part arrival, failure).
Method:
- Model the system (automaton or Petri net)
- Define specifications (forbidden states or behaviors)
- Compute the supervisor (restrict transitions)
- Verify properties (non-blocking, controllability)
PART C: TECHNICAL ASPECTS
Lab Work
Lab 1: Automatic sorting system
Objective: model and simulate a part sorting system on a conveyor belt using the AutomDiscrete software.
Specifications:
- Sorting into 3 categories: metal, other, reject
- 3 output bins with level sensors
- Detection sensors: metal, other material
- Timer delays for stabilization
- Automatic stop if bins are full
Automaton-based modeling:
System states: 7 states (0 to 6)
- 0: Idle
- 1: Conveyor running
- 2: Timer delay after detection
- 3: Part identification
- 4: Reject sorting
- 5: Metal sorting
- 6: Other sorting
Events:
- Bins empty (P_g1, P_g2, P_g3)
- Part entered conveyor
- Timer expired
- Metal detected, other detected
- Bins full
AutomDiscrete software implementation:
Graphical tool allowing:
- Drawing the automaton (states, transitions)
- Defining events and actions
- Simulating system evolution
- Exporting to PLC code
Generated code (excerpt):
Variables:
- STATE_TRI: current state
- T_ON, C_ON: conveyor commands
- B_OFF, B1_ON, B2_ON: actuator commands
- P1-P6: internal states
- Timers for delays
Testing and validation:
- Nominal scenario: correct sorting by category
- Edge cases: bins full, rapid successive parts
- Error handling: faulty sensors
Tutorials
Tutorial 1: Basic automata
Exercises:
- Model a vending machine
- Compute the synchronous product of two automata
- Determine accessible and co-accessible states
- Minimize an automaton
Tutorial 2: Petri Nets
Exercises:
- Model a producer-consumer system
- Compute the reachability graph
- Analyze liveness and boundedness
- Detect potential deadlocks
Tutorial: Manufacturing system
Modeling a flexible manufacturing cell with:
- Parallel machines
- Limited buffers
- Shared resources (robot)
- Deadlock analysis
Software Tools
AutomDiscrete:
- Graphical automaton editor
- Step-by-step simulation
- Export to Grafcet and PLC code
- Version used: v4.0
Other tools:
- PIPE: Petri net editor
- TINA: timed Petri net analysis
- Supremica: supervisor synthesis
- Stateflow (Simulink): automata in MATLAB
Design Methodology
Steps to model a system:
- Identify states: distinct situations of the system
- List events: actions triggering changes
- Define transitions: conditions for passing between states
- Specify actions: outputs associated with states or transitions
- Validate: simulation and property verification
Choosing between automata and Petri nets:
Use automata if:
- System with well-defined states
- Linear event sequences
- Little concurrency
Use Petri nets if:
- High concurrency between processes
- Shared resources
- Complex synchronizations
- Distributed systems
PART D: ANALYSIS AND REFLECTION
Acquired Skills
Modeling:
- Ability to abstract a real system into a formal model
- Choosing the appropriate formalism (automaton vs Petri net)
- Clear and structured graphical representation
Analysis:
- Detection of deadlocks and hazardous situations
- Verification of properties (liveness, boundedness)
- Performance evaluation (cycle time)
Design:
- Synthesis of control laws guaranteeing specifications
- Implementation on programmable logic controllers
- Testing and validation of automated systems
Practical Applications
DES are ubiquitous in industry and computer science:
Manufacturing industry:
- Automotive assembly lines
- Postal sorting systems
- Food packaging lines
- Flexible manufacturing cells
Transportation and logistics:
- Traffic light control
- Vehicle fleet management
- Automated metro systems
- Automated warehouses
Computer science:
- Network protocols (TCP/IP)
- Enterprise workflows
- Operating systems (scheduling)
- Reactive applications
Robotics:
- Multi-robot coordination
- Complex sequential tasks
- Environment interaction
Links with Other Courses
| Course | Semester | Link with DES |
|---|---|---|
| Sequential Logic | S5 | State machines, FSM |
| Feedback Systems | S5 | Control theory, command |
| Object-Oriented Programming | S7 | State pattern |
| Real-Time Systems | S8 | Scheduling, synchronization |
| Petri Nets | S8 | Advanced Petri nets |
Perspectives and Extensions
Hybrid systems:
Combination of continuous dynamics (differential equations) and discrete events.
Example: thermostat (continuous temperature, heating on/off).
Diagnosis and supervision:
Use of observer automata to detect faults and anomalies.
Optimization:
Cycle time minimization, throughput maximization with timed Petri nets.
Formal verification:
Model checking to prove the absence of bugs in protocols and safety-critical systems.
Recommendations
To succeed in this course:
- Thoroughly understand the difference between states and events
- Practice graphical modeling (draw the automata)
- Systematically test with simulation
- Analyze edge cases (bins full, sensor errors)
Additional resources:
- Cassandras & Lafortune: "Introduction to Discrete Event Systems"
- David & Alla: "Petri Nets and Grafcet"
- Online courses on finite automata (formal language theory)
My Opinion
This course offers a different perspective from classical control theory (continuous systems). It is particularly useful for understanding real industrial systems where the notion of discrete events is natural.
Strengths:
- Intuitive graphical approach (automata, Petri nets)
- Immediate practical applications (industry)
- Software tools facilitating modeling
- Direct link to programmable logic controllers
Complementarity:
DES perfectly complement continuous systems courses. In reality, many systems are hybrid (e.g., a robot with continuous position control + discrete task sequences).
Professional importance:
These skills are highly sought after in industrial automation, robotics, and embedded systems. Grafcets are the standard language of automation engineers.
Future applications:
These concepts are revisited in S8 courses (Real-Time Systems, Advanced Petri Nets) and in industrial projects (automation, supervision).
Personal assessment: This course provided a complementary view of control theory, centered on events rather than time. Modeling with automata and Petri nets is intuitive and directly applicable to industrial systems. The lab on the sorting system allowed me to apply these concepts to a real automation case.
Redige par Cedric Chanfreau Written by Cedric Chanfreau