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. Celles-ci incluent les éléments et les connecteurs pouvant être utilisés, le placement du Statemachine , l'emplacement du code pouvant être défini dans le modèle et le format de code pouvant être utilisé.
Placement Statemachine
Lors de la création d'un modèle à générer sous forme de 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 .
Définition du code
Il existe plusieurs options pour placer un script dans un modèle Statemachine . Les principales considérations à prendre en compte sont les suivantes : 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 « standard », ce 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 .
Placement du code
Interne à un State et conformément à la spécification UML , Stateflow supporte les trois opérations standard :
- Entrée
- Sortie
- Faire
Dans Transitions, il existe trois options clés pour utiliser le code :
- Garde de transition
- Effet de transition
- Déclencheur
Utilisation Bloc Propriétés
Pour le code, les Propriétés Bloc telles que les constantes et les ports peuvent être référencées dans le script. Dans le cas des ports, les détails saisis 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'histoire profonde
- États d'historique qui ont des transitions sortantes (c'est-à-dire States initiaux) à utiliser sur toutes les entrées par défaut
- Fourche/Jointure
- Synchroniser
- Jonction (uniquement Choix - Jonction sera remplacée par Choix lorsque cela est possible)
- Points d'entrée/sortie
- Références à d'autres Statemachines ; Stateflow peut faire Statemachines enfants mais elles ne peuvent pas être référencées à nouveau
- Une seule Statemachine par Bloc SysML