Vous êtes sur la page 1sur 12

LLLeeesss S

CPGE - PTSI - Ch. Coeffin


. SSyyyssstttèèèm
meeesss aaauuutttooom
m maaatttiiiqqquuueeesss
m

Sciences Industrielles de l’ingénieur C


C.III...3
C 3... LLLaaa cccooom
3 mm
m maaannndddeee dddeeesss S
m Syyyssstttèèèm
S meeesss lllooogggiiiqqquuueeesss eeettt ààà ééévvvèèènnneeem
m meeennntttsss dddiiissscccrrreeetttsss (((S
m SE
S ED
E D)))
D

Fiches de cours Systèmes


. à évènements discrets (SED)

Compétence(s) :
Analyser,
Définir les frontières de l’analyse,
Qualifier le comportement d’un système,
Identifier les interactions entre les acteurs et le système étudié,
Conduire l’analyse comportementale d’un système à évènements discrets,
Modéliser,
Traduire le comportement d’un système à évènements discrets.
Communiquer,
Choisir et mettre en œuvre une communication adaptée à l’interlocuteur (langage SysML et autres descripteurs).

1. Présentation des systèmes séquentiels à évènements discrets

Les systèmes à événements discrets (SED) sont des systèmes conçus par l'homme, dont les transformations
ont lieu à des instants discrets, en réponse à des événements ponctuels, par exemple l’appui sur un bouton de
consigne, la détection de l'arrivée d’un objet ou un signal extérieur influant.
Ces événements donnent lieu à des changements d’états du système et peuvent conduire à des modifications
des activités à réaliser.

Comme déjà vu, les systèmes de traitement de l’information peuvent être combinatoires, dans ce cas,

La même cause produit toujours le même effet, l’effet disparaît dès que la cause disparaît

S = f(e1, e2,......en).

Dans d’autres cas, la valeur d’une sortie logique dépend non seulement de la valeur des entrées logiques mais
peut également varier selon l’instant considéré. Deux cas de figure sont à considérer :

- une sortie logique conserve sa valeur lorsque que la cause qui a provoqué cet état a disparue. On parle dans
ce cas d’état interne ou de mémoire.
- une même combinaison d’entrées logiques provoque des états différents de la sortie logique associée selon
l’historique du système.

Dans ces 2 cas, le comportement logique de la sortie est dit séquentiel, ainsi :

Une même cause peut produire des effets différents.


Un effet peut rester maintenu alors même que sa cause a disparu.

S = f(e1, e2,......en, instant t)

Si l’état des sorties ne dépend pas uniquement de l’état des entrées, ainsi, il sera dépendant de ce que l’on
qualifiera d’état du système, état qui peut être matérialisé par un état du diagramme d’état (voir paragraphe
suivant) ou par une fonction mémoire comme décrit plus loin.

Si le système est séquentiel il ne peut donc pas être représenté par une table de vérité ou un tableau de
Karnaugh, d’autres méthodes sont alors envisagées (chronogramme, algorigramme, diagramme d’états…),
cependant l’étude des combinaisons des entrées peut être un moyen de détecter si un système est séquentiel ou
combinatoire.

2. Frontière d’un système séquentiel

La définition d’un système séquentiel permet de préciser la définition d’un système combinatoire.

Doc. Cours - SED.doc Page 1 sur 12


La notion de système logique, c’est-à-dire un système dont les
entrées et sorties sont de type tout ou rien, présente un
arbitraire par le positionnement de ses frontières.
Plusieurs possibilités de découpage existent pour une même
entité comme le montre la figure ci-contre : le système 3 peut
en effet être vu comme l’union des systèmes 1 et 2.
Il peut être avantageux, suivant la nature séquentielle ou
combinatoire des systèmes 1, 2 et 3, de choisir le découpage
adéquat pour l’étude des fonctions S1 et S2.

Pour illustrer cette situation, on s’intéresse à un moteur


électrique ME muni d’une commande de type marche-
arrêt organisée à partir de deux boutons poussoirs :
m : marche ;
a : arrêt ;
Le chronogramme de comportement est donné ci-contre.
Une impulsion sur le bouton marche provoque la mise en
marche du moteur et une impulsion sur arrêt provoque
son arrêt.
L’étude du système logique montre qu’il possède deux
entrées tout ou rien m et a et une sortie tout ou rien ME.

En utilisant le tableau de Karnaugh ci-dessous pour analyser le comportement de ce système de commande, on


peut remarquer que la case supérieure gauche ne peut donc être renseignée à la seule connaissance de la valeur
booléenne des entrées ; cependant à tout moment la variable ME est positionnée sans ambiguïté par rapport au
chronogramme.

On observe ainsi que la valeur booléenne de ME dépend de la valeur des entrées, mais aussi de l’histoire de ces
entrées, c’est-à-dire de l’ordre temporel suivant lequel les entrées ont varié (dans ce cas ME dépend du dernier
ordre reçu m ou a).
Le système doit donc connaître à tout moment l’histoire de ses entrées pour pouvoir la mémoriser.
Afin de matérialiser cette histoire, le système utilise une fonction logique appelée fonction mémoire.

3. Fonction mémoire et état interne d’un système

L’exemple de la commande du moteur montre qu’il existe des systèmes dits séquentiels pour lesquels les sorties
dépendent des entrées et d’autres variables caractérisant l’histoire des entrées.

Le système 1 ou système global est séquentiel.


L’ajout de la variable X permet de construire le système 2 qui est combinatoire.
Le système 3 qui, lui, comprend une structure particulière avec une sortie qui se
boucle sur une entrée (voir ci-contre). Cette structure permet d’élaborer l’état
interne du système.
X étant ici une variable interne, on peut l’obtenir à partir d’une fonction
mémoire.

Doc. Cours - SED.doc Page 2 sur 12


Selon la complexité des systèmes, une seule mémoire ne suffira pas toujours à déterminer l’ensemble des
sorties.

Un système séquentiel se distingue donc par la nécessité de connaître l’histoire des entrées, c’est-à-dire leur
ordre de variation d’état logique dans le temps pour connaître la valeur logique des sorties.

On définit alors l’état interne X, du système à partir des mémoires nécessaires pour déterminer l’histoire du
système. On le notera X : [ X1, X2,… , Xi] où X1, X2, … , Xi représentent les différentes mémoires nécessaires.
La connaissance de la valeur logique des entrées et de l’état interne du système permet de déterminer à tout
instant la valeur logique des sorties.

Système séquentiel
Système séquentiel

e1 S1
e2 S2
Affectation
ei Si
des sorties
X1 (Système
combinatoire)
X2
Elaboration
de l’état Xi
interne

(Mémoires,
compteurs, …)

En notant E : [ e1, e2,… , ei] l’état des entrée du système à un instant t donné,
En notant S : [S1, S2,… , Si] l’état des sorties.
En notant Xt : [ X1, X2,… , Xi] l’état interne du système à un instant t donné.

Il vient alors pour un système séquentiel S = f (E, Xt) avec Xt = f (E, Xt-1).

Dans les systèmes contemporains, l’élaboration de l’état interne est obtenue par des plages de mémoire
intégrées aux constituants de commande.
Toutefois, et pour revenir à l’exemple de la commande séquentielle du moteur vue précédemment, il est possible
d’élaborer un état interne physiquement grâce à des constituants câblés.

Réalisation électrique par Relais auto-maintenu électromagnétique

Elaboration de l’état interne Système combinatoire

Le relais est constitué d'une bobine alimentée par un circuit de commande, dont le noyau mobile ou la palette,
provoque la commutation de contacts pouvant être placés dans un circuit de puissance.

Doc. Cours - SED.doc Page 3 sur 12


4. Modélisation du comportement des systèmes à évènements discrets

Afin de modéliser le comportement d’un système à évènements discrets, il existe de nombreux descripteurs
parmi lesquels on retiendra :

- Les diagrammes SysML de séquence « sd » (sequence diagram),


- Les chronogrammes et diagrammes de Gantt,
- Les diagrammes SysML d’états « stm » (state machine) et les diagrammes d’activité « act »,
- Les algorigrammes (voir chapitre Structure algorithmique).

Le GRAFCET (GRAphe Fonctionnel de Commande Etape / Transition) est un autre outil de spécification de la
partie séquentielle d'un SED largement utilisé jusqu’à très récemment dans le cadre de la formation des CPGE.
Il est aujourd’hui remplacé par les différents diagrammes comportementaux du langage SysML.

4.1. Diagramme de séquence

Le diagramme de séquence a déjà été abordé (voir fiches ressources langage SysML) aussi bien au travers
d’étude de cas qu’en TP.
Dans le langage SysML, les échanges d’informations entre les différents éléments (bloc) d’un système sont
présentés au moyen du diagramme de séquences.
Le diagramme de séquence système (ssd) décrit les échanges d’informations entre le système complet et les
acteurs de son environnement.
Le diagramme de séquence est organisé autour des concepts graphiques suivants (voir exemple ci-dessous) :

- Lignes de vie,
- Messages (synchrones, asynchrones ou réflexifs),
- Activités,
- Fragments (imbriqués ou consécutifs) et opérandes (loop, opt, alt, ……).

Le diagramme de séquence peut donc être vu comme une description précise du cahier des charges du
comportement informationnel d’un système.

4.2. Chronogramme et diagramme de Gantt

Les chronogrammes et diagrammes de Gantt ont déjà été présentés dans le cours sur les systèmes logiques.

Doc. Cours - SED.doc Page 4 sur 12


Les chronogrammes qui décrivent des évolutions de grandeurs en fonction du temps permettent aussi de
montrer les relations de cause à effet entre les activités et les informations issues de capteurs.
L’échelle des temps étant respectée, ils permettent aussi de connaître les performances temporelles d’un
système comme le temps de cycle par exemple (Le temps de cycle est une performance de base d’un système
industriel..).

e4
e3
e2
e1
S2
S1 Tps
Chronogramme

Le chronogramme représente une histoire du système, dans laquelle l’enchaînement des activités est défini.
Cependant, un système de commande réagit quel que soit l’ordre selon lequel les événements apparaissent, c’est-
à-dire que la commande contient toutes les histoires possibles du système.
On ne représente que l’histoire du fonctionnement normal du système. En effet, on mesure les performances
d’un système qui fonctionne, et non pas lorsqu’il est en panne, même partielle.

Le diagramme de Gantt est une forme de chronogramme qui met en évidence la causalité entre plusieurs
phénomènes. Par exemple, le fait que la fin d’une activité déclenche l’activité suivante.

Diagramme de Gantt

On remarquera que l’échelle des temps n’est pas linéaire. En effet, on s’intéresse ici aux causalités, c’est-à-dire
aux changements d’états des différentes variables étudiées, on « raccourcit » donc artificiellement les durées
longues sans changements d’états de variables.
On remarquera aussi que ce type de représentation s’applique bien à un phénomène cyclique régulier dans lequel
aucune variable ne change d’état de manière aléatoire.

5. Modélisation du comportement par diagrammes d’états

5.1. Notions de base

Les systèmes à événements discrets se caractérisent par leurs états internes.


Le diagramme d’états (stm) issu du concept de machine à états finis représente pour une partie (un bloc ou un
sous-système ou un cas d’utilisation) du système, le comportement de celui-ci à partir de ses états internes et
des événements ou transitions auxquels il réagit.

Le diagramme d’état décrit les différents états pris par le bloc ainsi que les transitions possibles entre
ces différents états.

Doc. Cours - SED.doc Page 5 sur 12


Chaque bloc d’un bdd ou d’un ibd ne conduit pas nécessairement à un diagramme d’état. En effet, certains blocs
dont le comportement est statique ne requièrent pas nécessairement un diagramme d’état. Seuls ceux qui ont un
comportement dynamique complexe nécessiteront une description poussée par diagramme d’état.

Le diagramme ci-dessous décrit le fonctionnement d’un système de


vidéosurveillance. On y trouve dans ce diagramme les différents
éléments graphiques et textuels qui le caractérisent.

- Les états,
- Les pseudo-états,
- Les évènements et conditions de garde,
- Les transitions,
- Les effets comportementaux (actions, activités).

Dans cet exemple, la représentation du comportement est


fonctionnelle. Aucune information technique sur la manière dont
sont transmises les informations, ni sur la façon dont sont
réalisées les activités, sont précisées.

5.2. Etat

5.2.1. Définition

Un état représente une situation durant la vie d’un bloc pendant laquelle :

• il satisfait une certaine condition


• il exécute une certaine activité ;
• ou bien il attend un certain événement.

Un bloc passe par une succession d’états durant son existence. Un état a une durée finie, variable selon la vie du
bloc, en particulier en fonction des événements qui lui arrivent.

Cet élément se représente graphiquement par un rectangle à coin arrondi.


Un état est associé à un identifiant et peut posséder dans sa partie inférieure des transitions internes.

5.2.2. Pseudo-états

En plus de la succession d’états « normaux » correspondant au cycle de vie d’un bloc, le diagramme d’états peut
éventuellement comprendre des pseudo-états :

Doc. Cours - SED.doc Page 6 sur 12


Le terme pseudo-état est utilisé pour indiquer qu’il ne peut pas y avoir d’activités associées, ce sont
essentiellement des éléments de liaisons.

Le pseudo-état initial est unique et obligatoire. Il est activé au lancement de la machine à états et
marque le début de l’exécution du diagramme d’état. Il n’a aucune transition entrante.

Le pseudo-état final est optionnel. Il signe la fin de l’exécution du diagramme d’état. Lorsque cet état
est activé, la machine à états s’arrête. Il n’a donc aucune transition sortante.
Il peut y en avoir plusieurs car différents scénarios peuvent être possibles pour mettre fin à un comportement.

Le pseudo-état de jonction est utilisé pour regrouper des


conditions de franchissement de transitions, en particulier des
gardes communes à un événement.
Cela permet de partager des segments de transition et d’aboutir à
une notation plus lisible des chemins alternatifs. L’évaluation des
conditions de garde en aval du pseudo-état est réalisée avant qu’il ne
soit atteint.
Par exemple, ici : on passe de l’état 10 à l’état 13 si l’événement 1
apparait et que la condition 2 est vrai.

Le pseudo-état de choix est utilisé dans deux cas : sélection et


convergence de séquences exclusives.
Contrairement à un point de jonction, les gardes situées après le
point de décision sont évaluées au moment où il est atteint. Cela
permet de baser le choix sur des résultats obtenus en franchissant
le segment avant le point de choix, en particulier lorsqu’un effet
(activité) est placée dans celui-ci.
Les conditions de gardes doivent être exclusives. L'utilisation d'une
clause [else] est recommandée après un point de décision, car elle
garantit un modèle correct en englobant tout ce qui n’est pas décrit
dans les autres expressions booléennes et en assurant ainsi qu’un
moins un segment en aval est franchissable.
Par exemple, ici, dès que l’évènement apparaît, le pseudo-état de
choix est atteint. Si la condition est vraie, c’est l’état 3 qui devient
actif, sinon, c’est l’état 2.

5.2.3. Etat composite

Un état composite, appelé aussi super-état, décrit les


évolutions internes d’un état à l’aide d’un autre
diagramme d’état. Cette structure qui permet
d’englober plusieurs sous-états exclusifs qui sont
considérés comme hiérarchiquement inférieur au
diagramme principal, permet de rendre ce dernier plus
lisible en entrant séparément dans le détail des
évolutions interne du système.

Pour modéliser le comportement plus détaillé du radio


réveil, une première solution consiste à transformer
l’état Radio AUTO en état composite (encore appelé
super-état), et à dessiner les nouveaux états à
l’intérieur.
On notera qu’il faut ajouter un sous-état initial pour
indiquer que lorsque le bloc passe dans l’état Radio
AUTO, il rentre en fait directement dans le sous état
Silencieuse.
Doc. Cours - SED.doc Page 7 sur 12
Une autre façon de représenter un état composite consiste à ajouter un symbole en forme d’haltère en bas à
droite du rectangle à coins arrondis, puis à décrire les transitions entre ses sous-états dans un autre
diagramme.
On peut ainsi faire de la décomposition hiérarchique d’états, en gardant chaque niveau lisible et relativement
simple. Dans la représentation ci-dessous, le diagramme précédent a été repris en transformant Radio AUTO
en sous machine à états représentée dans un second diagramme.

L’utilisation d’un état composite s’avère indispensable lorsque le comportement à décrire comprend des
diagrammes s'exécutant en parallèle
Dans un état composite orthogonal (voir ci-dessous l’exemple d’un distributeur de boissons), plusieurs graphes
d'états peuvent évoluer simultanément dans des régions séparées par des pointillés. Les différentes régions de
l’état orthogonal fonctionnent en parallèle sans aucune influence les unes sur les autres.
Dans ce cas de figure plusieurs états sont actifs en même temps.

Chaque région peut posséder un état initial et final.


Une transition qui atteint la bordure d’un état composite orthogonal est équivalente à une transition qui atteint
les états initiaux de toutes ses régions.
Toutes les régions d’un état composite orthogonal doivent atteindre leur état final pour que l’état composite
soit considéré comme terminé. La synchronisation est alors automatique et la transition de sortie de l'état
composite est déclenchée.

5.2.4. Historique d’un état composite

L’état actif au moment de la sortie d’un état composite peut être mémorisé par l’indication historique .
Lors de la désactivation de l’état composite, l’état actif situé au même niveau hiérarchique est mémorisé. Lors
de la réactivation de l’état composite, la machine d’état se réactive au niveau de l’état composite.

Doc. Cours - SED.doc Page 8 sur 12


L’historique est particulièrement utilisé pour permettre à un système de recommencer en cours de cycle lors du
redémarrage après un appui sur stop ou l’arrêt d’urgence (voir exemple ci-dessous).

5.3. Evènements et conditions de garde

L’évolution des états d’un système est conditionnée dans le temps à des évènements et des conditions de garde.
Ces évènements et conditions de garde sont modélisés par des grandeurs logiques.

5.3.1. Evènement

Un événement est daté dans le temps et il est traité instantanément lors de son occurrence (apparition) : appui
sur un bouton, arrivée en fin de course d’un mécanisme, dépassement d’une valeur seuil…
Sauf indication contraire, c’est le front montant de l’évènement qui est considéré.
Il n’est pas caractérisé par une durée, c’est à dire qu’il a lieu ou non.

L’événement est le déclencheur de l’évolution du système. On distingue trois types d’évènement :

- l’événement de signal prend en compte l’envoi ou la réception d’un signal : appui sur un bouton, arrivée
en fin de course d’un mécanisme ;
- l’événement de changement prend en compte le changement d’une valeur interne du modèle. Il se
modélise avec le mot clé when suivi d’une expression booléenne concernant une variable interne :
compteur when(N=3) ;
- l’événement temporel relatif : after (T) se déclenche après une durée T passé dans l’état d’amont. Il
s’agit d’une temporisation ;
l’évènement temporel absolu : at(D) se déclenche à la date D dans un référentiel de temps dont
l’origine correspond généralement au démarrage du fonctionnement du système.

5.3.2. Condition de garde

La garde est une condition d’évolution du système.


C’est une condition supplémentaire à l’événement déclencheur, mais optionnelle. Elle se note entre crochets
C’est une condition booléenne. Contrairement à l’événement qui lui est localisé dans le temps, elle traduit une
condition qui dure dans le temps et qui doit persister : vitesse non nulle, température >20°….

Par exemple, lors de l’appui d’un bouton :

- L’événement modélise le fait de savoir s’il vient d’être enfoncé ;


- La garde modélise le fait de savoir s’il est enfoncé.

La syntaxe d’une condition de garde vérifiant l'activité de l’état TOTO est : [in TOTO].

5.4. Transition

Une transition modélise la possibilité d'un passage instantané d'un état vers un autre.
Elle est : orientée, n'a pas de durée et n'est évaluée que si l'état source est actif.

Doc. Cours - SED.doc Page 9 sur 12


Le franchissement de la transition est conditionné par des évènements déclencheurs et des conditions de
garde. Ces événements et conditions de franchissement ainsi que l’éventuel effet associé à la transition sont
indiqués le long de la flèche qui la symbolise suivant la notation :

Plusieurs transitions avec le même événement doivent avoir des conditions de garde différentes.

5.5. Activités - Effets

La gestion des activités liées à un état est organisée à partir de mots clés spécifiques au diagramme d’états.

Une activité durable introduite par le mot-clé do / à l’intérieur du symbole d’un état représente une activité qui
s’exécute durant l’état associé.
Un effet d’entrée (activité instantanée) introduit par le mot-clé entry / à l’intérieur du symbole d’un état
représente un effet qui est exécuté chaque fois que l’on entre dans cet état. Cela permet de factoriser un
même effet qui sera déclenché par toutes les transitions qui entrent dans l’état.
L’effet de sortie (activité instantanée) introduit par le mot-clé exit / est l’effet symétrique en sortie de l’état.

Une transition peut spécifier un comportement optionnel réalisé par le bloc lorsque la transition est déclenchée.
Ce comportement est appelé « effet » : cela peut être une simple action ou une séquence d’actions.
Une action peut représenter la mise à jour d’une valeur, un appel d’opération, ainsi que l’envoi d’un signal à un
autre bloc. Les activités associées aux effets sont considérées instantanées.
Une transition peut ne pas avoir d’effet.

5.6. Transition interne – Transition propre

SysML propose aussi le concept de transition interne (internal transition) et de transition propre.
Une transition interne représente un couple (événement/effet) qui n’a aucune influence secondaire sur l’état
courant. Elle est notée simplement à l’intérieur du symbole de l’état.

Doc. Cours - SED.doc Page 10 sur 12


Dans le cas d’une transition propre, l’élément quitte son état de départ pour y retourner aussitôt.
Mais cela peut avoir des effets secondaires non négligeables comme l’interruption puis le redémarrage d’une
activité durable,

Commentaires sur le diagramme stm de la page précédente :

La notation de base du diagramme d’états est donnée par l’exemple de la figure de la page précédente.
L’état initial est État 1, l’état final est atteint à partir de État 3 suite à l’événement destruction.
La transition déclenchée par opération11 définit un effet appelé effet1.
Dans l’état 2, événement 2 peut arriver et déclencher alors uniquement effet2.
État 3 possède une activité durable appelée activité1.
Dans l’état 3, par contre, événement 2 déclenche successivement : action de sortie, effet2, puis action
d’entrée. De plus, activité 1 est interrompue, puis redémarrée.

5.7. Démarche de modélisation du comportement séquentiel d’un système par un graphe d’état

Le cartouche général du diagramme d’états est de la forme :


stm [machine à états] nom de la machine à états [nom du diagramme]

Une bonne modélisation du comportement séquentiel d’un système, en vue de programmer son unité de
commande nécessite de respecter la démarche suivante :

6. Modélisation du comportement par diagrammes d’activité

Le diagramme d’activité n’est pas explicitement au programme des CPGE, toutefois, en raison des liens qu’il peut
avoir avec le diagramme d’état, on peut juger nécessaire de faire une rapide présentation de ce diagramme
SysML.

Le diagramme d’activité est un diagramme comportemental appelé Activity Diagram (act) qui permet de
représenter le déroulement d’un processus sous la forme d’une activité correspondant à une décomposition
séquentielle d’actions appelées aussi tâches.
Dans sa forme la plus restreinte, ce diagramme peut être comparé à un algorigramme.

Doc. Cours - SED.doc Page 11 sur 12


Les éléments de base du diagramme d’activité sont les suivants :

• des actions ;
• des flots de contrôle entre actions ;
• des décisions (aussi appelées branchements conditionnels) ;
• un début et une ou plusieurs fins possibles.
Le diagramme d’activité permet ainsi de décrire un comportement basé sur des flux associés à un traitement
par tâches.

Pour illustrer un exemple d’application, on donne ci-dessous le diagramme


d’activité d’une séquence de retrait de billets ou de dépôt d’argent sur un
GAB (Guichet Automatique Bancaire)

Les éléments graphiques utilisés dans ce diagramme ressemblent fortement à ceux du diagramme d’états avec
un rôle différent.
On notera qu’il n’y a pas d’évènement associé aux transitions. Quand une tâche est finie, on passe à la suivante
alors que dans le diagramme d’états on associe des événements aux transitions.

Doc. Cours - SED.doc Page 12 sur 12