Imprimer cette page
vendredi, 19 octobre 2018 10:33

Simuler des diagrammes d'état SysML avec Enterprise Architect

Écrit par
Évaluer cet article
(1 Vote)

La simulation de modèle est souvent nécessaire en ingénierie système pour valider le comportement d’un système étudié. Comme le précise l’AFIS (Association Française de l’Ingénierie Système), la simulation est utile pour étudier en phase de conception le comportement d’un futur système, ou en analyse et validation fonctionnelle.

Cet article présente les fonctions de simulation d’un diagramme d’état SysML avec l’outil de modélisation SparxSystems Enterprise Architect.

La simulation propose deux modes d’exécution :

  • Manuel : les transitions entre états sont déclenchées automatiquement. L’utilisateur doit choisir une condition lorsque plusieurs transitions depuis l’état actif sont possibles.
  • Interprété : les transitions sont déclenchées par la sélection par l’utilisateur de triggers, ou automatiquement via l’évolution de variables. Les conditions de garde peuvent être évaluées selon des variables prédéfinies.

Remarque : EA propose également un mode Executable, cependant celui-ci s’applique essentiellement à la génération de code pour simuler une application logicielle (prototypage). Un exemple de lecteur CD est disponible ici.

L’exemple suivant utilise le mode interprété de la simulation d’un kit main libre en phase initiale de conception.

Afin de pouvoir exécuter un diagramme d’état, des adaptations peuvent être nécessaires sur son contenu vis-à-vis de l’enchaînement des transitions. Des évènements déclencheurs (i.e. éléments triggers) doivent être créés sur les transitions. Ces éléments triggers sont créés sous EA et peuvent être associés à une opération du bloc système, ou correspondre à un signal (ex : le correspondant a raccroché). Le diagramme de machine à états SysML suivant a été réalisé afin d'être exécutable via le module de simulation EA (ce diagramme affiche également le bloc système avec les opérations disponibles).

simulation sysml state machine kitmainlibre sparxsystems enterprise architect

La transition "incoming call" est associée à un élément "trigger" comme illustré ci-dessous. Cet élément trigger peut ainsi être réutilisé par plusieurs transitions. Cela facilite la mise à jour du diagramme et permet de réaliser des analyses d’impact.

simulation sysml statemachine kit mainlibre trigger.

Au lancement de la simulation, l’état actif est mis en surbrillance et l’utilisateur peut choisir l’un des évènements déclencheurs disponibles.

-simulation-sysml-statemachine-kitmainlibre-execution

La sélection du trigger switchON permet de poursuivre :

simulation sysml statemachine kit mainlibre execution sparxystems enterprise architect
L’enchaînement des triggers peut être enregistré si besoin dans un scénario afin d'être rejoué ultérieurement. La vidéo suivante présente la simulation du diagramme, suivi de l’enregistrement d’un scénario.


Le simulateur de Machine à Etats SysML de Sparx Enterprise Architect permet également de gérer des conditions de garde (indiquées en crochets e.g. [Condition]). Ces conditions utilisent la gestion de variables. Le système de signalisation suivant utilise cette approche.

simulation sysml statemachine traffic lights execution sparxystems enterprise architect

La vidéo suivante présente l’exécution automatique de ce diagramme.

A noter enfin qu’EA permet de réaliser une interface utilisateur pour déclencher des évènements et constater l’impact sur le système.

Ces aspects sont détaillés dans un nouveau complément de la formation SysML avec EA.