Pré. | Proc. |
Modélisation du changement avec Statemachines
Notre monde est en constante évolution, car les « choses » changent ou évoluent, passant d'un état à un autre. L'eau gèle, les glaciers se déforment et coulent, la glace fond, les feux de circulation passent du vert à l'orange et au rouge, les avions décollent, montent, volent, descendent et atterrissent. La Statemachine SysML est utilisée pour décrire comment une structure, sous forme de blocs, change d'état dans un cycle de vie limité dans le temps. Notre préoccupation ne concerne pas la structure de l'instance Bloc mais son comportement, qui peut à son tour avoir un impact sur sa structure. Nous ne nous intéressons pas à chaque état dans lequel une « chose » peut se trouver, mais plutôt aux états significatifs. Ainsi, les états importants pour les molécules d'eau peuvent être un solide , un liquide ou un gaz, mais nous ne nous intéressons généralement pas à l'eau liquide à une température de 67 degrés centigrades. Si nous regardions une bobine de film sur la durée de vie d'un object , une Statemachine sélectionnerait les images significatives où des changements importants et pertinents se sont produits.
Déterminer ce qui est pertinent est la prérogative et le privilège de l'ingénieur modélisation , et le même Bloc pourrait avoir n'importe quel nombre de Statemachines définies par le même ingénieur ou par des ingénieurs différents. L'état d'un avion pourrait être modélisé du point de vue de l'embarquement et du débarquement des passagers, du point de vue de son calendrier de maintenance, du point de vue de la portance ou de tout autre perspectives .
Ce diagramme Statemachine décrit les états de fonctionnement d'un véhicule à moteur SUV. Le diagramme utilise States composites, qui imbriquent des States dans d'autres States . Il existe trois States de haut niveau : Arrêt, Fonctionnement et l' State final sans nom. L' State Fonctionnement comporte un certain nombre de sous-états, à savoir Ralenti, Accélération/Croisière et Freinage. Avec les transitions, cela décrit les états du véhicule lorsqu'il Démarre , Accélère, Freine, S'arrête et enfin lorsque le contact est coupé.
En utilisant Enterprise Architect un ingénieur peut créer Statemachines et définir les transitions d'un état à un autre, y compris Événements qui déclencheur un changement d'état et les actions qui sont déclenchées. En plus de ces représentations modélisation standard, l'outil dispose d'une gamme de fonctionnalités qui peuvent aider à visualiser et à raisonner sur cet important mécanisme linguistique qui lie la structure et le comportement. L'une de ces facilités - que nous examinerons dans cette rubrique - est Statemachines Exécutables , disponible à partir du ruban Simuler.
Statemachines peuvent être définies à n'importe quel niveau de granularité car elles sont l'expression du comportement d'un Bloc . De nombreux nouveaux venus dans SysML sont confus sur ce point. Comme un Bloc peut représenter quelque chose de très simple - comme un interrupteur sur un panneau de commande de sous-marin - ou quelque chose de complexe comme le sous-marin lui-même, une Statemachine peut également représenter les états du commutateur et du sous-marin. Les deux modèles Statemachine peuvent avoir la même complexité, même si les éléments modélisés se situent clairement à l'une ou l'autre extrémité du spectre en matière de complexité.
diagrammes Statemachine peuvent paraître assez simplistes pour le modélisateur inexpérimenté, mais ils sont des outils très efficaces pour la description et l'analyse de problèmes complexes qui ne peuvent être résolus par d'autres moyens. Il faut une approche et un état d'esprit différents, et souvent le cœur du problème est centré sur la sélection du niveau de Bloc , son contexte et la perspective de la Statemachine , plutôt que sur les détails du diagramme . Souvent, les meilleurs résultats sont obtenus de manière heuristique par un certain nombre d'ingénieurs travaillant ensemble. Cela peut être accompli en utilisant fonctionnalités de collaboration d' Enterprise Architect , permettant aux ingénieurs dispersés géographiquement de communiquer au sein du modèle, soit par courrier électronique, discussions, chats et révisions formelles via le client de bureau, soit dans un Navigateur sur un smartphone, une tablette ou un ordinateur portable.
La Statemachine trouve son origine dans les comportements discrets pilotés par événements, utilisant une Statemachine finie basée sur une variante orientée objet du formalisme StateCharts de David Harel.