Réserver une Démo

SVP notez : Cette page d’aide n’est pas pour la dernière version d’Enterprise Architect. La dernière aide peut être trouvée ici.

Pré. Proc.

Modélisation pour Stateflows

Vous disposez de plusieurs options lors de la création d'un diagramme Statemachine destiné à être rendu sous forme de diagramme Stateflow . Ceux-ci incluent quels éléments et connecteurs peuvent être utilisés, le placement de la Statemachine , où le code peut être défini dans le modèle et quel format de code peut être utilisé.

Statemachine

Lors de la création d'un modèle à générer en tant que diagramme Stateflow , le diagramme Statemachine doit être placé sous un Bloc SysML et avoir un élément Statemachine enfant, avec un diagramme Statemachine sous cet élément Statemachine .

Par exemple, dans ce cas, le Bloc 'Control' a une Statemachine enfant nommée 'ControlStateMachine', qui a un diagramme Statemachine enfant 'ControlStateMachine' :

Note que le Bloc ne doit contenir qu'un diagramme Statemachine ; il ne doit pas contenir d'autres diagrammes .

Code de définition

Il existe un certain nombre d'options pour placer un script dans un modèle Statemachine . Les considérations clés pour cela sont : quel est le format du script et où peut-il être placé ?

Format de code

Lorsque vous écrivez un code SysML valide, il sera traduit en code Stateflow valide. La spécification SysPhS définit le langage mathématique Modelica comme le "standard", c'est-à-dire ce qu'Enterprise Enterprise Architect accepte comme extraits de code dans le diagramme Statemachine , et les traduit en équivalent MATLAB/Stateflow. Pour plus de détails, reportez-vous à la section 10 de la spécification OMG SysPhS .

Emplacement du code

Interne à un State et conforme à la spécification UML , Stateflow supporte les trois Operations standards :

  • Entrée
  • Sortir
  • Fais
Chacun d'entre eux peut contenir du code, qui est défini dans l'opération de l' State sous Comportement. Par exemple, voici un extrait de code pour une entrée :

Sur Transitions, il existe trois options clés pour utiliser le code :

  • Garde de transition
  • Effet de transition
  • Gâchette
Par exemple, il s'agit d'une déclaration de condition telle que définie dans une Transition Guard :

Utilisation de Bloc Propriétés

Pour le code, les Bloc Propriétés telles que les constantes et les Ports peuvent être référencés dans le script. Dans le cas des ports, les détails entrés dans le Bloc sont dérivés à l'aide du nom du port d'entrée et, de la même manière, des valeurs peuvent être attribuées à une variable du même nom que le port de sortie.

Par exemple:

Notes

Ces fonctionnalités SysML Statemachine ne sont pas disponibles dans Stateflow :

  • État de l'historique approfondi
  • Les états d'historique qui ont des transitions sortantes (c'est-à-dire des States initiaux) à utiliser sur toutes les entrées par défaut
  • Bifurquer/Joindre
  • Synchroniser
  • Junction (uniquement Choice - Junction sera remplacé par Choice si possible)
  • Points d'entrée/sortie
  • Références à d'autres Statemachines ; Stateflow peut faire des Statemachines enfants mais ils ne peuvent pas être référencés à nouveau
  • Un seul Statemachine par Bloc SysML

Apprendre encore plus