Académique Documents
Professionnel Documents
Culture Documents
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).
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 :
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.
La définition d’un système séquentiel permet de préciser la définition d’un système combinatoire.
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.
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.
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.
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.
Afin de modéliser le comportement d’un système à évènements discrets, il existe de nombreux descripteurs
parmi lesquels on retiendra :
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.
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.
Les chronogrammes et diagrammes de Gantt ont déjà été présentés dans le cours sur les systèmes logiques.
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.
Le diagramme d’état décrit les différents états pris par le bloc ainsi que les transitions possibles entre
ces différents états.
- Les états,
- Les pseudo-états,
- Les évènements et conditions de garde,
- Les transitions,
- Les effets comportementaux (actions, activités).
5.2. Etat
5.2.1. Définition
Un état représente une situation durant la vie d’un bloc pendant laquelle :
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.
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 :
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.
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.
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.
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 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.
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.
Plusieurs transitions avec le même événement doivent avoir des conditions de garde différentes.
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.
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.
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
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 :
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.
• 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.
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.