Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Modélisation des systèmes à
évènements discrets (SED)
Spécifications UML 2.5 (sept 2013)
SII – PTSI / CI 5 – Modéliser, prévoir, expérimenter et
vérifier les performances des systèmes à évènements discrets
Evènements
• Evénement : Phénomène considéré comme
localisé et instantané (discret), c’est-à-dire
survenant en un point de l’espace et à un instant bien déterminé
(ex : appui sur un bouton).
2
t
a
0
Front montant
de a noté a Front descendant de
a noté a
L’apparition de a est appelé
évènement front montant. (si
booléen passage de 0 à 1).
Le passage de a de 1 à 0 est appelé
évènement front descendant. (si
booléen passage de 1 à 0).
Systèmes à évènements discrets
• Systèmes continus (SC) : systèmes à évolution
temporelle décrite à l’aide de variables continues du temps (voir équations différentielles).
• Systèmes à évènements discrets (SED) : systèmes
à évolution temporelle liée à l’apparition d’évènements discrets.
3
Simulateur d’aube Lampe halogène
SC ou SED ?
• Les SED peuvent être décrits :
– Par des tables de vérité décrivant le cahier des
charges,
– Par des équations logiques (algèbre de Boole)
et/ou des logigrammes,
– Par des chronogrammes,
– Par des diagrammes SysML comportementaux
(diagramme de séquences, diagramme d’état, diagramme d’activités).
4
Ces outils seront étudiés au cours de différents TD.
Systèmes à évènements discrets
Systèmes à évènements discrets 6
SED E r
S r
Pour chaque système étudié, on peut
définir, une frontière d’étude. - Les évènements entrant sont
notés 𝐸. - Les sorties fournies par le SED
sont notées 𝑆 . • En fonction du comportement du SED suite à l’apparition d’un
évènement (modification de la valeur de 𝐸), on distingue 2 catégories fondamentales :
– Les SED combinatoires
– Les SED séquentiels
Vecteurs logiques : représentation de variables binaires en matrice
colonne.
Ex : 𝐸 = 10
7
SED combinatoires
Un SED combinatoire peut être modélisé à l’aide d’une table de vérité dont les valeurs de 𝑆 sont sans équivoque.
SED E r
S r
2 propositions définissent un SED combinatoire :
- A une valeur de vecteur d’entrée 𝐸 correspond une seule valeur du vecteur de
sortie 𝑆 . - A une valeur du vecteur de sortie 𝑆 peut correspondre plusieurs valeurs du
vecteur d’entrée 𝐸.
8
SED Combinatoires ?
• La gestion de la lumière de la salle
• Le bouton principal de votre smartphone
• Un va & vient à deux interrupteurs bistables
• Un va & vient à deux interrupteurs monostables
9
Création du câblage de la mise en service d’une machine électrique
Cahier des charges : Le pupitre comporte :
- un bouton poussoir monostable nommé « réarmement » ;
- un bouton bistable à verrouillage d’arrêt d’urgence ; - un voyant vert de mise en service.
10
Création du câblage de la mise en service d’une machine électrique
Cahier des charges : Le pupitre comporte :
- un bouton poussoir monostable nommé « réarmement » ;
- un bouton bistable à verrouillage d’arrêt d’urgence ; - un voyant vert de mise en service.
A la mise sous tension de la machine (interrupteur général non géré
par notre étude), tout est éteint (conditions initiales de repos).
Sur impulsion du bouton « réarmement », le voyant vert s’allume. Si on relâche le bouton ou si l’on appuie à nouveau, rien n’est modifié. Pour stopper la mise en service de la machine, il faut appuyer sur le
bouton d’arrêt d’urgence. Tant que le bouton d’arrêt d’urgence reste enfoncé (1 logique), le voyant ne s’allume pas, la machine ne peut pas se mettre en tension.
Questions • 1 : recenser les entrées/ sorties du SED.
• 2 : écrire sous forme de table de vérité le cahier des charges. Ce SED est-il combinatoire ?
• 3 : introduire une nouvelle entrée binaire x1 équivalent à « système mis sous tension » et réécrire la table de vérité. Le nouveau SED est-il combinatoire ?
• 4 : quelle est la procédure pour réactiver la mise en service après un arrêt d’urgence ?
• 5 : écrire la ou les équations logiques de V (voyant)
• 6 : introduire une nouvelle sortie X1 correspondant à « METTRE sous tension ». Dessiner le câblage électrique correspondant en utilisant un contacteur x1 lié logiquement au relais X1.
11
12
Fonctionnement d’un relais
La bobine 1 est
alimentée, la partie
métallique (ou aimant)
est déplacée ;
Une partie mécanique
déplace 3 et ferme le
circuit électrique de
puissance.
Borniers
commande
Borniers
puissance
13
Fonctionnement d’un relais
Voir
simulation
automgen
Relais électromécanique 14
Relais
électromécanique Contacteurs associés
SED séquentiels
Deux propositions permettent de définir les relations entrée-sortie d'un SED séquentiel :
- A un état du vecteur d'entrée 𝐸 peut correspond un ou plusieurs états du
vecteur de sortie 𝑆 , - A un état du vecteur de sortie 𝑆 peut correspondre plusieurs états du vecteur
d'entrée 𝐸 .
Un système logique, dont
l'évolution future de la sortie
dépend à la fois des entrées qui
lui sont appliquées et des
évolutions passées, est un SED séquentiel.
Système combinatoire
Système
Système séquentiel
X r
X r
S r
E r
15
Un SED séquentiel peut être modélisé à l’aide d’une table de vérité dont certaines valeurs de 𝑆 sont avec des ambiguïtés.
Il faut donc mémoriser des états précédents pour lever les ambiguïtés.
SED en SysML 16
Diagrammes de comportement en
SysML
• Diagrammes des cas d’utilisation (uc): diagramme qui fixe la frontière d’étude du système, le (les) acteur(s) et le (les) service(s) rendu(s) par le système pour le (les) acteur(s).
– Ces diagrammes peuvent contenir des cas d’utilisations associés
aux différents services attendus à différents moments de l’usage du système.
– Ces diagrammes peuvent aussi préciser les différentes phases de vie du système.
– Il n’y a ni évènements, ni chronologie dans ces diagrammes.
17
Capsuleuse de bocaux 18
Pupitre
Voyant blanc
mise sous
énergie
Interrupteur
général
(manette)
Diagrammes de comportement en
SysML
19
Exemple indexa
Pupitre INDEXA 20
Boutons bistables Potentiomètre Bouton bistable
coup de poing
Boutons monostables
avec voyant
Boutons monostables
Voyant
Définitions fondamentales • Evénement : Phénomène considéré comme localisé et instantané
(discret), c’est-à-dire survenant en un point de l’espace et à un instant bien déterminé (ex : appui sur un bouton).
• Action : représente un comportement élémentaire du système.
Elle ne peut pas être interrompue. (ex : affectation de variable,
incrémentation compteur, « envoi signal »…). Elles apparaissent dans les diagrammes d’activités et dans certains cas dans les diagrammes d’état.
• Activité : séquencement d’actions pouvant être décrit dans un
diagramme d’activité. Elle peut être interrompue. Elles
apparaissent dans les diagrammes d’état. • État : situation durant la vie d’un bloc pendant laquelle :
– il satisfait une certaine condition ;
– il exécute une certaine activité ;
– il attend un certain évènement.
23
Qualités d’un système de décision
• L’apparition d’un évènement est appelé déclencheur (trigger).
24
t
a
0
Front montant
de a noté a Front descendant de
a noté a
Qualités d'un système de décision • Attentif : réceptif à tout événement externe quel que soit l'instant où il se
produit.
• Efficace : capable de traiter les conséquences de tout événement externe
auquel il est réceptif.
• Déterminé : à circonstances identiques, comportement identique.
Conséquence : Tous les déclencheurs sont asynchrones (distincts dans le temps).
Le booléen (a . b) est donc toujours faux (nul) !
Diagramme d’état • Diagramme d’état (stm -state machine-) : C’est un graphe,
dont les nœuds (sommets) représentent les états, et les arcs orientés, les transitions : c’est un automate à nombre fini d’états (ou machine à états finis)
• Il permet de modéliser le comportement dynamique (« cycle de vie ») d’un bloc (ou instance de bloc) selon des scénarii définis au préalable.
• Il contient : – un état initial
– un ensemble de déclencheurs (par extension des évènements)
– un ensemble d’états possibles du bloc
– un ensemble d’activités et/ou actions
Des règles de comportement permettent de modéliser l’évolution d’état en état à partir d’occurrence (apparition) d’évènements.
25
Diagramme d’état (stm) 26
Bloc ayant plusieurs
états intéressants à
décrire :
- état1
- état2
entrée 1
entrée 2
entrées sorties
sortie 1
sortie 2
En fonction des apparitions des évènements (occurrence) provenant
de certaines entrées et de l’unique état actif du bloc, le diagramme
d’état évolue : l’état courant devient inactif et un autre devient actif
pouvant ainsi exécuter une activité (activation d’une sortie).
Remarque 1 : la description des activités se fait dans un diagramme d’activité (sorte d’organigramme de programmation). Remarque 2 : on verra qu’il est possible de quitter et d’activer le même état sur un
évènement.
Etats
• Un état modélise un comportement particulier du système modélisé : en général il est associé à une activité.
• Un état est représenté par un rectangle aux coins arrondis.
• Un état possède en général un titre informant du nom de l’état du bloc (ex : Machine en production). Ce titre est unique dans le diagramme.
• Il n’est pas possible d’incorporer des états prélevés de d’autres diagrammes sauf états sous-machine (voir + loin).
• Un état sans titre est un état anonyme.
27
Exemple :
Transitions
• Transition : arc orienté qui relie deux états (source vers cible).
• Une transition possède une unique ligne de commande :
• Pour activer l’état2, il faut : – Que l’état1 soit actif – Et que la ligne de commande soit validée. La transition est franchissable.
28
état2 état1 Ligne de commande
transition
• Si ces conditions sont vraies, alors l’état1 se
désactive et l’état2 s’active.
Ligne de commande stm • L’écriture d’une ligne de commande dans stm :
29
évènement [condition de garde] / activité
Front montant
associé à
l’évènement
Booléen interprété
à l’occurrence de l’évènement
Activité effectuée si
l’évènement apparaît et si la condition de garde
est vraie.
Si le front montant de évènement apparait et que la condition de garde est vraie alors la ligne est validée et l’activité est effectuée. Chaque terme est optionnel.
Si évènement n’est pas écrit, c’est le front montant de la fin de l’activité de l’état courant (associée à do) qui valide la ligne (déconseillé).
Si la ligne est associée à un arc du diagramme d’état (transition), il est courant de ne pas mettre d’activité. Les lignes de commande peuvent être écrites dans les transitions et dans les états.
Diagramme d’état (stm) 30
Pseudo état initial : l’automate fini démarre
Etat : Dès que l’état1 est actif, l’activité1 est exécutée. Cas particulier elle ne peut être interrompue.
Transition
Exemple
générique de
base
Déclencheur : lorsque celui-ci
apparaît alors l’état 1 est désactivé et l’état 2 est activé.
Pseudo état final : l’automate fini s’arrête.
Transition : l’état2 est désactivé dès que 90s est
atteint ; l’activité2 est interrompue .
L’état2 est « désactivable » si
à l’instant où l’évènement2 apparaît, la condition de
garde [condition1] est vraie.
Lorsque l’état2 est activé, l’activité2 est exécutée une fois.
Evènements
• Un évènement est par nature instantané et est traité immédiatement.
• Il existe plusieurs types d’évènements : – l’évènement de signal (signal event) : un signal
asynchrone est arrivé (ex : appui sur un bouton);
– l’évènement de changement (change event) : une valeur interne au modèle a changé (« when (N=10) ») (ex : compteur atteint) ;
– l’évènement temporel (time event) :
• Relatif : after(90s) passe à vrai 90s après l’entrée dans l’état courant.
• Absolu : at(11:00) passe à vrai (toutes les 11h) sur une base de temps absolue.
31
when, after, at sont des mots réservés d’évènements.
Etats
• Chaque état possède des lignes de commandes optionnelles :
32
Les évènements entry, do ou exit ne peuvent être utilisés qu’une seule fois par état.
Exceptionnellement, les activités associées à entry et exit ne peuvent pas être
interrompues comme des actions.
Il n’y a jamais de conditions de garde avec les mots réservés entry, do et
exit.
évènement [condition de garde] / activité
entry Ex : entry / activité1 Le front entry apparaît à l’activation de l’état. do Ex : do / activité2 L’activité2 s’exécute tant que l’état est actif après
l’activité1. exit Ex : exit / activité3 Le front exit apparaît à la désactivation de
l’état. L’activité 2 est interrompue.
Mots réservés sur évènement (dans ligne de commande placée dans un état)
Transitions internes dans états • Il est possible de placer des activités dans un état associées à un
évènement et éventuellement une garde.
• Ces activités s’effectuent en parallèle de l’activité associée à un do.
33
Lorsque l’état1 est actif, l’activité1 est exécutée. Dès que l’évènement4 apparaît avec la condition de garde test1 vraie, alors l’activité3 s’exécute aussi.
Dans la logique SED enseignée (machine de Moore), il est déconseillé d’utiliser ces transitions internes : pour nous à chaque apparition d’un évènement , on change d’état.
Pseudo-Etats
Pseudo-état initial
Il s’agit d’un état activé au lancement de la machine
à états. Il est unique par machine d’états. Il n’a donc aucune transition entrante.
Pseudo-état final Lorsque cet état est activé, l’automate fini s’arrête. Il n’a donc aucune transition sortante. Il est optionnel.
34
Un pseudo-état est un état anonyme qui ne contient aucune
ligne de commande et qui possède un comportement spécifique.
Transitions
• Transition : arc orienté qui relie deux états (source vers cible).
• Une transition possède une unique ligne de commande :
• Si l’événement apparaît (front montant du déclencheur) et si la condition
de garde est vraie à ce moment alors la transition est franchissable : si
l’état1 était actif alors il se désactive et l’état2 s’active. L’activité, si elle
existe, est exécutée avant celles situées dans l’état2.
• La condition de garde n’est prise en compte qu’au moment de
l’occurrence de l’évènement. • Si aucune condition de garde est écrite alors elle est toujours vraie.
• Si plusieurs évènements au choix sont écrits, ils sont séparés par une
virgule.
35
état2 état1 évènement [condition de garde] / activité
Transitions automatiques
• Une transition automatique (completion transition) est une transition sans
évènement explicite.
• L’évènement associé est :
– La fin de l’activité do de l’état1, ou
– La fin de l’activité entry de l’état1 si l’activité do n’existe pas, ou
– L’activation de l’état 1 si celui-ci ne contient aucune activité. (solution privilégiée dans ce cas)
• Rappel : si la condition de garde n’existe pas, alors elle est considérée comme
toujours vraie.
• ATTENTION : Si l’activité de l’état1 ne s’arrête jamais (allumage d’un voyant par
ex.) alors l’automate est bloqué !
36
état2 état1 [condition de garde]
Transitions 37
état2 état1 évènement Dès que l’évènement apparaît, l’état1
se désactive, et l’état2 s’active.
état2 état1 évènement[garde]
Dès que l’évènement apparaît et que la garde est vraie (booléen), l’état1 se désactive, et l’état2 s’active.
état2 état1 [garde]
Transition automatique avec garde :
l’évènement associé est soit l’activation de l’état1 s’il ne contient pas d’activité, soit la fin de entry ou do activité. (voir
synchronisation d’état)
état2 état1 évènement1,évènement2
Dès que, soit l’évènement1, soit l’évènement2 apparaît, l’état1 se désactive, et l’état2 s’active.
état2 état1 évènement/activité Dès que l’évènement apparaît, l’état1
se désactive, l’activité s’exécute puis l’état2 s’active. (déconseillé)
Transitions • Transition réflexive : arc orienté qui relie un même état
(source = cible).
• Cela permet d’exécuter à nouveau les activités associées à exit et à entry.
38
Si l’état9 est actif, il est sensé exécuter l’activité2 sauf si celle-ci s’est terminée d’elle-même.
Si évènement1 apparait, l’état9 se désactive et se réactive aussitôt donc l’activité2 est interrompue, l’activité3 est exécutée puis lorsqu’elle est terminée, l’activité1 se réalise et enfin de nouveau l’activité2. Noter que l’évènement implicite d’entrée dans l’état courant apparaît. (voir transition automatique, ou évènement temporel, on
relance les temporisations)
Rappel : les activités associées à entry et exit ne peuvent pas être interrompues à
l’instar des actions.
Exemple Décrire les évènements et les activités associés.
Décrire par un diagramme d’état (stm) le fonctionnement de cette machine de
production :
39
Evénements référencés • Il est possible de créer une liste de déclencheurs
(triggers) de différents évènements pouvant apparaître lorsqu’un état est actif mais utiles dans une transition ou un autre état « plus tard ».
• Pour mettre en file d’attente ces déclencheurs il faut utiliser l’action mot réservé /defer.
40
A l’activation de la machine d’état, l’état2 est activé (via le pseudo-état
initial et la transition automatique) ;
Dès que l’occurrence de l’événement1 apparaît, on désactive l’état2 et on active l’état3. Les états 2 et 3 contiennent une action /defer associée à l’événement3 : si cet événement3 apparaît pendant que soit l’état2 soit l’état3 est actif, alors il est référencé (trigger pool) et en attente de consommation !
Par exemple si événement2 apparaît, l’état3 se désactive et l’état4 s’active, mais comme événement3 était référencé, alors on désactive l’état4 et on atteint le pseudo-état final. Si
l’état4 contient des actions/activités associées à entry et/ou exit, elles sont exécutées
(mais pas l’activité associée à do). Si événement3/defer n’était pas dans état3, alors l’événement3 serait perdu au cas ou il apparaît pendant l’activation de état2.
Etats composites
• L’activation de l’état composite entraîne l’activation du pseudo-état initial. (rond noir)
• La désactivation de l’état composite (ici évènement stop) entraîne la désactivation de l’état actif (ici état4 ou état5) : l’état composite est donc hiérarchiquement supérieur à l’automate fini qu’il contient.
• Chaque « sous-état » peut aussi être un état composite et
ainsi de suite…
• L’automate fini contenu est appelée région.
• Un état composite peut contenir des activités associées à
entry, do et exit. entry est traité avant l’activation du pseudo-état initial de la région, do est traité pendant,
exit est traité au moment de la désactivation de l’état composite. (Je déconseille d’utiliser ces fonctionnalités.)
41
Etat composite : état contenant un automate fini détaillant
son fonctionnement séquentiel.
Région
Sous machine à état
• Le diagramme d’état d’un état sous machine est dessiné dans un autre diagramme d’état : un pictogramme représentant 2 états + une transition permet de le signaler.
42
Etat sous machine : état instance d’un automate fini (diagramme d’état).
Ces diagrammes sont équivalents à l’exemple de la page précédente.
Sous machine à état
• Il est possible d’utiliser la même machine à état dans d’autres états sous-machine : dans ce cas le nom devient
Nom de l’état sous machine : diagramme2
• On peut donc considérer le diagramme2 comme « un sous programme ».
43
Etat sous machine 2
Sous machine à état
• Lorsque plusieurs points d’entrée et/ou sortie sont utiles dans une sous machine, il faut placer des pseudo-états correspondants :
44
Pseudo-états d’entrée et de sortie
Pseudo-état
d’entrée Pseudo-état de sortie
Points de
connexion
Transitions
automatiques
conseillées ici
C’est le nom (ex : entrée1) du point de référence qui fait le lien avec le pseudo-état
point d’entrée de la sous machine.
événement1
événement2
Etats orthogonaux
• Des droites en traits pointillés
dans l’état créent des régions. • Il est déconseillé de relier des
états de deux régions
distinctes (d’un même état composite)
45
Etat orthogonal : état contenant
plusieurs automates finis (régions)
fonctionnant en parallèle.
Magicdraw impose des régions horizontales, mais la norme autorise aussi une écriture verticale.
Région 1
Région 2
Etats orthogonaux 47
Pseudo états divergence (fork) et convergence (join) de flux.
Permet de représenter graphiquement le parallélisme entre
des régions d’un même état composite.
Fork node Join node
Les deux transitions
automatiques sont franchies de
manière synchrone.
Dès l’apparition de événement2, les état4 et état6 sont désactivés.
Transitions
automatiques : conseil
ne pas mettre d’activités dans les états 4 et 6.
Pseudo-Etat de jonction 48
Exemple : on passe de l’état3 à l’état6 si l’évenement1 est apparu et que la garde1 est vraie.
Pseudo-état
de jonction
Le pseudo état de jonction (junction pseudo-state) permet de regrouper des
conditions de franchissement de transitions en particulier des gardes
communes à un évènement.
IMPORTANT : le test des gardes est réalisé au moment de l’apparition des
évènement1 ou évènement2.
Pseudo-Etats de choix (déconseillé) 49
Dès que l’événement1 apparaît,
l’état3 est désactivé. Le 1er
pseudo-état est atteint : les
gardes sont évaluées à ce
moment. Et ainsi de suite…
La différence entre le pseudo
état de choix et celui de
jonction apparait si des activités
sont placées dans les
transitions. (déconseillé)
SysML/UML impose un choix exclusif entre les transitions pour obtenir un
unique état actif par automate fini (ou par niveau hiérarchique). Il est donc
conseillé de placer une condition de garde [else] pour ne pas bloquer
l’évolution de l’automate fini. (on ne doit pas rester bloqué dans le pseudo-état
de choix (losange)).
Pseudo-états
de choix
else est un mot réservé de garde.
Pseudo-Etats historiques
Pseudo-état historique
(shallow history)
Cet état est associé à un état composite. Il permet de
mémoriser l’état qui était actif au même niveau
hiérarchique au moment où l’état composite a été
désactivé. Lorsque ce pseudo-état devient actif, on
reprend donc là où on en était dans l’état composite.
Pseudo-état historique
profond (deep history)
Similaire au précédent, mais réactive les états qui
étaient actifs quelque soit leur niveau hiérarchique.
50
H
H*
Lorsque stop devient vrai, l’état composite2 se désactive et l’automate fini mémorise l’état courant (par exemple l’état6). Après 5min d’activation de l’état2, l’état composite2 est à nouveau activé, mais par le biais du pseudo-état historique : c’est donc l’état6 (mémorisé) qui s’active.
Une région ne peut avoir qu’un seul pseudo-état initial ou historique à la fois.
événement4
Conseils diagrammes d’état • Bien vérifier qu’un unique état est actif à la fois par machine
d’état. • Il faut éviter de placer des activités dans la ligne exit.
• Il faut éviter de placer des activités dans les transitions
(machine de Mealy).
• Il faut éviter les transitions automatiques sauf pour certains
pseudo états (join, fork and initial pseudostates).
• Normalement il n’y a jamais un très grand nombre d’états par automate, ne pas hésiter à utiliser les états composites.
• Les états des machines de production au niveau hiérarchique
supérieur se limite à des états du type : système en attente,
système en production, système en phase de réglage etc…
• Les diagrammes d’activités peuvent être utilisés pour détailler les séquences d’actions élémentaires…
51
Synthèse diagrammes d’état • Si l’on souhaite modéliser l’interaction
acteur/système, il est conseillé d’utiliser les diagrammes de séquences (sd).
• Dès qu’un évènement doit être pris en compte pour modéliser le comportement dynamique interne d’un bloc, on doit utiliser les diagrammes d’état (stm).
• Si l’on souhaite décrire une succession d’actions élémentaires mais sans évènement extérieur, il faut
utiliser le diagramme d’activité (hors programme) qui correspond à un algorithme (interagissant avec les
autres diagrammes SysML).
52
Diagrammes de comportement en
SysML
• Diagrammes de séquences (sd): diagramme
décrivant un scénario possible d’un cas d’utilisation. Ce scénario peut inclure aussi
des gestions de problèmes ou de mise en
route.
• On se limite aux messages et ordres entre
l’acteur et le système (interactions) décrit séquentiellement.
53
Diagrammes de séquence 54
Acteur
(voir uc) Bloc
(voir bdd)
Ligne
de vie
temps
Bande
d’activation
Mise en service INDEXA
Diagrammes de séquence (sd) 55
Message aller synchrone
Elément de communication unidirectionnel
entre lignes de vie. La réception d’un message
provoque un évènement chez le récepteur.
L’émetteur est en attente d’une réponse.
Message retour Message résultat direct d’un message aller
synchrone.
Message aller asynchrone
Similaire au message aller synchrone mais
l’émetteur n’attend pas de réponse du récepteur.
Message réflexif Message bouclant sur une même ligne vie pour
représenter un fonctionnement interne.
A B
message synchrone A B
message asynchrone A B
Diagrammes de séquence (sd) 56
Fragments combinés boucle
On reste dans la boucle tant que la garde est
vraie. (une information du nombre de boucles
mini et maxi peut-être renseignée).
Fragments combinés optionnels
Le contenu du cadre s’exécute si condition de
garde vraie.
Fragments combinés alternatifs
Seul le fragment dont la condition est vraie
s’exécutera. Le mot réservé « else » peut être
utilisé.
Fragments combinés parallèles
Les éléments du diagrammes décrits dans
chaque partie du cadre (séparées par un
pointillé à l’instar des régions en stm –voir +
loin-) s’effectuent en parallèles.
On peut représenter des tests à l’aide de « fragments combinés ».
loop [Condition de garde]
opt [Condition de garde]
alt [Condition de garde 1]
[Condition de garde 2]
par
Définition : on appelle garde une équation logique. Elle est notée entre crochets.
Ex : [a] ; vrai si a=1.
Diagrammes de séquence (sd) 57
Cadre référence Ce cadre représente de manière compacte un
autre diagramme de séquence.
On peut représenter des appels à d’autres diagrammes de séquence avec le cadre référence.
ref
Nom du diagramme appelé
Remarque : il existe d’autres outils pour ces diagrammes. Ils seront décrits si nécessaire à l’occasion de TD.
Diagrammes de séquence (sd) 58
INDEXA
Décrit dans le
diagramme de
séquence
initialisation.
Décrire par le texte le diagramme de séquence précédent. A quoi correspond-il ?
Diagrammes de séquence (sd) 59
Ecrire le diagramme de séquence de la phase d’initialisation en suivant le texte suivant : - Si pas de flacon en entrée et appuie sur le bouton Initialisation, alors rotation d’un tour du
maneton (rotation d’un 1/4 de tour du plateau), - Puis allumage voyant Machine prête.
Diagramme de séquence 60
Application : Portail Domoticc
Diagramme de séquence 61
Application : Portail Domoticc
Synthèse diagramme de séquence
• Le diagramme de séquence permet de représenter les interactions (messages) entre le ou les acteurs et le système. On ne cherche pas à décrire le fonctionnement interne du système.
• Pour décrire le comportement interne du système on peut utiliser :
– Les diagrammes d’états
– Les diagrammes d’activités
62