les systèmes à évènements discrets sed v2.0 norme uml 2.5 (sept 2013)

45
Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

Upload: agace-felix

Post on 03-Apr-2015

114 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

Les systèmes à évènements discretsSED

V2.0

Norme UML 2.5 (sept 2013)

Page 2: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

2

Signaux logiques

Signaux logiques : Quantité physique qui représente une variable logique dans l'un ou l'autre de ses deux états possibles.Ex : signal électrique continu compris entre 0 et 0,6V pour 0

Variable logique : Variable binaire qui peut prendre deux états associés au caractère vrai ou faux d’un événement.Ex : interrupteur ouvert ou fermé,

tige vérin rentrée ou sortie,…

Variable binaire : Variable qui ne peut prendre que deux et seulement deux valeurs. (par convention 0 et1)

Page 3: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

3

Systèmes logiques

Systèmes logiques : Ensemble de composants qui effectuent des fonctions sur des signaux logiques dans le but de stocker, communiquer ou de transformer de l'information.

Il existe 2 grandes catégories de systèmes logiques :- systèmes combinatoires- systèmes séquentiels (appelés aussi systèmes à évènements discrets)

Vecteurs logiques : représentation de variables binaires en matrice colonne.Ex :

Page 4: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

4

Système Combinatoire

Circuit logique

E

S

Un système logique, dont l'évolution future de la sortie ne dépend que des entrées qui lui sont appliquées, est un système combinatoire.

2 propositions définissent les relations entrées sortie d’un circuit logique combinatoire :- A un état du vecteur binaire d’entrée correspond un seul état du vecteur de sortie .- A un état du vecteur binaire de sortie peut correspondre plusieurs états du vecteur d’entrée .

Voir cours sur les portes logiques et l’algèbre de Boole

Page 5: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

5

Exemple : 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.

Page 6: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

6

Exemple : 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.

Page 7: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

Questions• 1 : recenser les entrées/ sorties du système logique.• 2 : écrire sous forme de table de vérité le cahier des

charges. Ce système logique 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 système logique 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.

Page 8: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

8

• 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

Page 9: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

9

• Fonctionnement d’un relais

Voir simulation automgen

Page 10: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

Relais

Relais électromécanique Contacteurs associés

Page 11: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

11

Système séquentiel (ou SED)

Deux propositions permettent de définir les relations entrée-sortie d'un circuit logique 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 système séquentiel.

Système combinatoire

‚ Système ƒ

Système séquentiel �

Xr

Xr

Sr

Er

Page 12: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

12

SED en SysML

Page 13: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

13

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 et ni chronologie dans ces diagrammes.

Page 14: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

14

Capsuleuse de bocaux

Pupitre

Voyant mise sous énergie

Interrupteur général

Page 15: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

15

Diagrammes de comportement en SysML

Exemple indexa

Page 16: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

16

Pupitre INDEXA

Boutons bistables PotentiomètreBouton bistable coup de poing

Boutons monostables avec voyant

Boutons monostables

Voyant

Page 17: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

17

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.

Page 18: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

18

Diagrammes de séquenceActeur

(voir uc) Bloc(voir bdd)

Ligne de vie

temps

Bande d’activation

Initialisation INDEXA

Page 19: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

19

Diagrammes de séquence (sd)

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

1 : message synchroneA B

2 : message asynchroneA B

Page 20: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

20

Diagrammes de séquence (sd)

Fragments combinés boucle

Le contenu du cadre fonctionne en boucle jusqu’à la condition de garde.

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 clé « else » peut être utilisé.

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]

On peut représenter des appels à d’autres diagrammes de séquence avec le cadre référence.

Cadre référence Ce cadre représente de manière compacte un autre diagramme de séquence.

ref

Nom du diagramme appelé

Remarque : il existe d’autres outils pour ces diagrammes. Ils seront décrits à l’occasion de TD.

Page 21: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

21

Diagrammes de séquence (sd)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 ?

Page 22: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

24

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 finement le comportement interne séquentiel du système on peut utiliser :– Les diagrammes d’activités– Les diagrammes d’états

Page 23: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

26

Définitions complémentaires• 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’états.

• Activité : séquencement d’actions pouvant être décrit dans un diagramme d’activité. Elle peut être interrompue. Elles apparaissent dans les diagrammes d’états.

• É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.

Page 24: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

27

Définitions complémentaires

• L’apparition d’un évènement (occurrence) est appelé déclencheur (trigger).

t

a

0

Front montant de a noté a

Front descendant de a noté a

L’apparition de l’évènement a est appelé front montant. (si booléen passage de 0 à 1).La disparition de l’évènement a est appelé front descendant. (si booléen passage de 1 à 0)

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) !

Page 25: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

28

Diagramme d’états• Diagramme d’états : C’est un graphe, où les nœuds

(sommets) représentent les états du bloc et les arcs orientés les transitions : c’est un automate à nombre d’états finis (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– un ensemble d’états– 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.

Page 26: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

29

Diagramme d’états

Bloc ayant plusieurs états intéressants à

décrire :- état1- état 2

évènement 1

évènement 2

évènements : fronts montants activités

activité 1

activité 2

En fonction des apparitions des évènements (occurrence) et de l’unique état actif du bloc, le diagramme d’états évolue : l’état courant devient inactif et un autre devient actif pouvant ainsi exécuter une activité.

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 le même évènement.

Page 27: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

30

Diagramme d’étatsNom du diagramme : stm (state machine) : machine à nombre fini d’états ou automate fini.

Pseudo état initial : l’automate fini démarre

Etat : Tant qu’il est actif, l’activité1 est exécutée.

Transition

Exemple générique de base

Trigger : 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 automatique : l’état2 est désactivé dès que

l’activité2 est terminée.

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.

Page 28: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

31

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é de telle sorte que la transition est franchie (« 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.

when, after, at sont des mots clés.

Page 29: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

32

Etats• Un état est représenté par un rectangle aux coins arrondis.• Un état possède un titre informant du nom de l’état du bloc (ex :

Système sous tension). 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.• Un état sans titre est un état anonyme.• Chaque état possède 3 lignes optionnelles d’exécution :

– entry / activité1 => l’activité1 est exécutée en priorité au moment où l’état s’active;

– do / activité2 => l’activité2 s’exécute tant que l’état est actif après l’activité1 ;

– exit / activité3 => l’activité3 s’exécute lorsque l’état est désactivé en interrompant l’activité2 si elle est en cours d’exécution.

Exceptionnellement, les activités associées à entry et exit ne peuvent pas être interrompues comme des actions.

Page 30: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

33

Pseudo-Etats

Pseudo-état initialIl s’agit d’un état activé au lancement de la machine à état. Le diagramme doit en posséder au moins un.Il n’a donc aucune transition entrante.

Pseudo-état final Lorsque cet état est activé l’automate fini s’arrête. Il est optionnel. Il n’a donc aucune transition sortante.

Un pseudo-état est un état anonyme qui ne contient aucune ligne d’exécution d’activité et qui possède un comportement spécifique.

Page 31: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

34

Transitions• Transition : arc orienté qui relie deux états (source vers cible).• La transition est franchie lorsque les conditions de franchissement associées

sont vraies :

• Chaque terme est optionnel.• La condition de garde est un booléen.• Si l’événement apparaît (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.(Je déconseille l’utilisation de cette fonctionnalité - machine de Mealy)

• Important : la condition de garde n’est prise en compte qu’au moment de l’occurrence de l’évènement.

• Si aucun évènement est écrit alors il est toujours vrai.• Si aucune condition de garde est écrite alors elle est toujours vraie.• Une transition qui ne contient aucune condition de franchissement est dite

automatique.

état2état1évènement [condition de garde] / activité

Page 32: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

35

Transitions• Transition réflexive : arc orienté qui relie le même état

(source = cible).• Cela permet d’exécuter à nouveau les activités associées à exit et à entry de nouveau.

Si l’état9 est actif, il est sensé exécuter l’activité2 sauf si celle-ci c’est terminée d’elle-même.Si évènement1 apparait, l’état9 reste actif, mais 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.

Rappel : les activités associées à entry et exit ne peuvent pas être interrompues à l’instar des actions.

Page 33: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

36

Transitions internes • Il est possible de placer des activités dans un état associées à

un évènement et éventuellement une garde.• Ces activités sont prioritaires sur l’activité associée à un do/

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é 1 est interrompue au détriment de l’activité3.(?)

Page 34: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

37

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.

• Pour mettre en file d’attente ces déclencheurs il faut utiliser l’action mot clé /defer.

A l’activation de la machine d’états, 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.

Page 35: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

39

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 et do sont traités avant l’activation du pseudo-état initial de la région, exit est traité au moment de la désactivation de l’état composite. Je déconseille d’utiliser ces fonctionnalités.

Etat composite : état contenant un automate fini détaillant son fonctionnement séquentiel.

Région

Page 36: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

40

Sous machine à états

• Le diagramme d’états d’un état sous machine est dessiné dans un autre diagramme d’état : une icône représentant 2 états + une transition permet de le signaler.

Etat sous machine : état instance d’un automate fini (diagramme d’états).

Ces diagrammes sont équivalents à l’exemple de la page précédente.

Page 37: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

41

Sous machine à états

• Il est possible d’utiliser la même machine à états dans d’autres états sous-machine : dans ce cas le nom devient

Nom de l’état sous machine : diagramme2• On peut donc voir le diagramme2 comme « un sous programme ».

Etat sous machine 2

Page 38: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

42

Sous machine à états

• Lorsque plusieurs points d’entrée et/ou sortie sont utiles dans une sous machine, il faut placer des pseudo-états correspondants :

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 (entrée1) du point de référence qui fait le lien avec le pseudo-état point d’entrée de la sous machine.

Page 39: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

43

Etats composites

• 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)

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

Page 40: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

44

Etats composites

• Si stop devient vrai, l’état composite2 se désactive ; tous les états le composant se désactivent. Si des activités sont en exit, elles sont exécutées dans l’ordre inverse hiérarchique c’est-à-dire en premier celles des états des régions puis celle de l’état composite, puis l’état2 est activé.

• Si l’état8 devient actif, [in état8] devient vrai et donc l’état composite2 se désactive (et les activités exit des état8 et de l’état courant de la région 1 s’exécutent) puis l’état9 s’active.

• Si les activités de l’état7 et de l’état8 sont terminées, l’état composite2 se désactive et l’état composite:diagramme2 s’active (transition automatique).

3 cas indépendants possibles :

Mot clé inTransition automatique

région1

région2

Page 41: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

45

Etats compositesPseudo états : divergence de flux (fork) et convergence (join) Permet de représenter graphiquement le parallélisme entre deux régions.

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.

Page 42: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

46

Pseudo-Etats de choixDès que l’événement1 apparaît, l’état3 est désactivé. Puis les autres termes des transitions sortantes du pseudo-état choix sont évalués.

SysML/UML impose un choix exclusif entre les transitions pour obtenir un unique état actif par automate fini (ou par niveau hiérarchique), mais un automate fini peut contenir d’autres automates finis en parallèles (états orthogonaux). 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-état de choix

Page 43: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

47

Pseudo-Etat de jonction

état7=stop.(événement1.état3+événement2.état6)

État7 actif si :

Stop doit être vrai au moment où état3 ou état6 se désactive.

Pseudo-état de jonction

Page 44: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

48

Pseudo-Etats historiquesPseudo-é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.

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 et/ou historique à la fois.

événement4

Page 45: Les systèmes à évènements discrets SED V2.0 Norme UML 2.5 (sept 2013)

49

Conseils diagrammes d’états• D’autres outils en stm existent mais pas adaptés à SysML,• 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 les transitions automatiques sauf pour certains pseudo états

(join, fork et initial pseudostates),• Il faut éviter l’utilisation des pseudo-états de choix et de jonction,• Il faut éviter de placer des activités dans les étiquettes de transition

(machine de Mealy),• 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é peuvent être utilisés pour détailler les séquences d’actions élémentaires… (voir cours d’informatique)