Éliminer du code redondant en combinant des actions d’état
Vous pouvez combiner les actions entry, during et exit qui exécutent les mêmes tâches en un état.
En combinant les actions d’état qui exécutent les mêmes tâches, vous éliminez du code redondant. Par exemple :
| Actions séparées | Actions combinées équivalentes |
|---|---|
entry: y = 0; y=y+1; during: y=y+1; |
entry: y = 0; entry, during: y=y+1; |
en: fcn1(); fcn2(); du: fcn1(); ex: fcn1(); |
en, du, ex: fcn1(); en: fcn2(); |
Combiner des actions d’état de cette façon produit le même comportement d’exécution du diagramme (sémantique) et génère le même code que les actions séparées équivalentes.
Comment combiner les actions d’état
Combinez un ensemble d’actions entry, during et/ou exit qui effectuent la même tâche qu’une liste séparée par des virgules en un état. Voici la syntaxe :
entry, during, exit: task1; task2;...taskN;
Vous pouvez également utiliser les abréviations équivalentes :
en, du, ex: task1; task2;...taskN;
Combinaisons valides
Vous pouvez utiliser n’importe quelle combinaison des trois actions. Par exemple, les combinaisons suivantes sont valides :
en,du:en,ex:du,ex:en,du,ex:
Vous pouvez combiner les actions dans n’importe quel ordre dans la liste en les séparant par des virgules. Par exemple, en, du: donne le même résultat que du, en:.
Combinaisons invalides
Vous ne pouvez pas combiner deux actions ou plus du même type. Par exemple, les combinaisons suivantes sont invalides :
en,en:ex,en,ex:du,du,ex:
Si vous combinez plusieurs actions du même type, vous recevez un avertissement signalant que le diagramme n’exécute l’action qu’une seule fois.
Ordre d’exécution des actions combinées
Les états exécutent des actions combinées dans le même ordre qu’ils exécutent des actions séparées :
Les actions
Entryd’abord, de haut en bas dans leur ordre d’apparition dans l’étatLes actions
Duringensuite, de haut en basLes actions
Exitenfin, de haut en bas
L’ordre dans lequel vous combinez les actions n’affecte pas le comportement d’exécution de l’état. Par exemple :
| Actions combinées | Ordre d’exécution |
|---|---|
|
|
|
|
|
|
|
|
Règles de combinaison des actions d’état
Ne combinez pas plusieurs actions du même type.
Ne créez pas de données, d’événements ou de messages qui ont le même nom que les mots-clés d’actions :
entry,en,during,du,exit,ex.



