Ordre d’exécution des états parallèles
Bien que les états parallèles (AND) s’exécutent simultanément, le diagramme Stateflow® doit déterminer quand activer chacun d’entre eux pendant la simulation. Cet ordre détermine quand chaque état parallèle effectue les actions qui le font passer par toutes les étapes d’exécution.
Ordre des états parallèles
Les diagrammes attribuent un numéro de priorité à chaque état parallèle. Plus le nombre est bas, plus l’état s’exécute tôt. Le numéro de priorité apparaît dans le coin supérieur droit de chaque état.
Quand vous ouvrez un nouveau diagramme ou un diagramme qui ne contient pas d’états parallèles, le diagramme attribue automatiquement des numéros de priorité aux états parallèles dans l’ordre où vous les créez. La numérotation commence par le prochain nombre disponible dans le conteneur parent.
Pour modifier l’ordre d’exécution d’un état parallèle :
Faites un clic droit sur l’état parallèle.
Cliquez sur Execution Order et sélectionnez le nouveau numéro de priorité.
Quand vous changez le numéro de priorité pour un état parallèle, le diagramme renumérote automatiquement les autres états parallèles pour préserver leur priorité relative.
Dans du code généré à partir de diagrammes contenant des états parallèles, chaque état s’exécute en fonction de sa priorité.
Maintenance de l’ordre des états parallèles
Quand vous supprimez, renumérotez ou ajoutez des états parallèles, le diagramme réorganise les priorités des états parallèles pour :
Combler les écarts dans la séquence afin que l’ordre soit continu.
Garantir que deux états n’aient pas la même priorité.
Préserver la priorité relative prévue.
Prenons l’exemple suivant :

Par défaut, les états et sous-états sont numérotés dans l’ordre où vous les avez créés. Par exemple, si vous faites ces changements dans le diagramme :
Changer la priorité de l’état de niveau supérieur
bà 3.Ajouter un état de niveau supérieur
g.Supprimer le sous-état
e.

Le diagramme préserve la priorité que vous avez définie explicitement pour l’état de niveau supérieur b, mais renumérote tous les autres états parallèles pour préserver leur ordre relatif antérieur.
Priorités d’exécution dans les états restaurés
Dans certaines situations, vous devez restaurer un état parallèle après l’avoir supprimé d’un diagramme Stateflow. Cependant, un diagramme ne peut pas toujours rétablir la priorité d’exécution d’origine pour un état restauré. Cela dépend de comment vous restaurez l’état.
| Si vous supprimez un état en... | Et restaurez l’état en... | Quelle est la priorité ? |
|---|---|---|
| Le supprimant, coupant, faisant glisser hors des limites de l’état parent, ou faisant glisser pour que ses limites chevauchent l’état parent | Utilisant la commande annuler | La priorité d’origine est restaurée. |
| Le faisant glisser hors des limites de l’état parent ou pour que ses limites chevauchent l’état parent et en relâchant le bouton de la souris | Le refaisant glisser dans son état parent | La priorité d’origine est perdue. Le diagramme Stateflow traite l’état restauré comme étant le dernier créé et lui attribue la priorité d’exécution la plus basse. |
| Le faisant glisser hors des limites de l’état parent ou pour que ses limites chevauchent l’état parent sans relâcher le bouton de la souris | Le refaisant glisser dans son état parent | La priorité d’origine est restaurée. |
| Le faisant glisser pour que ses limites chevauchent un ou plusieurs états frères | Le faisant glisser vers un emplacement n’ayant pas de limites se chevauchant au sein du même état parent | La priorité d’origine est restaurée. |
| Le coupant | Le collant | La priorité d’origine est perdue. Le diagramme Stateflow traite l’état restauré comme étant le dernier créé et lui attribue la priorité d’exécution la plus basse. |
Ordre d’exécution des états parallèles dans des boîtes et des sous-diagrammes
Quand vous groupez des états parallèles à l’intérieur d’une boîte, les états gardent leur ordre d’exécution relatif. De plus, le diagramme Stateflow attribue à la boîte sa propre priorité en fonction des règles d’ordre par défaut. Cette priorité détermine quand le diagramme active les états parallèles à l’intérieur de la boîte.
Quand vous convertissez un état avec décomposition parallèle en sous-diagramme, ses sous-états gardent leur ordre d’exécution relatif.