Pré. | Proc. |
Modélisation Change 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 s'écoulent, la glace fond, les feux de circulation alternent entre le vert, l'orange et le rouge, les avions décollent, montent, croisent, descendent et atterrissent. La machine d' Statemachine est utilisée pour décrire comment la structure, sous la forme de blocs, change d'état dans un cycle de vie limité dans le temps. Notre préoccupation n'est pas la structure du Bloc Instance mais son comportement, qui peut à son tour impacter sa structure. Nous ne sommes pas intéressés par chaque état dans lequel une « chose » peut se trouver, mais plutôt par les états significatifs. Ainsi, les états importants pour les molécules d'eau pourraient être un solide , un liquide ou un gaz, mais nous ne sommes normalement pas intéressés par l'eau liquide à une température de 67 degrés centigrades. Si nous regardions une bobine de film de 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écider ce qui est pertinent est la prérogative et le privilège de l'ingénieur de 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 aéronef 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 point de perspectives .
Ce diagramme Statemachine décrit les états de fonctionnement d'un véhicule à moteur SUV. Le diagramme utilise des States composites , qui imbriquent des States dans d' autres States . Il existe trois States de haut niveau : Off, Operate et End State sans nom. L' State de fonctionnement comporte un certain nombre de sous-états, à savoir Idle, Accelerating/Cruising et Braking. 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 des Statemachines et définir les transitions d'un état à un autre, y compris les Événements qui déclenchent le changement d'état et les actions qui sont déclenchées. En plus de ces représentations de 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 aborderons dans cette rubrique - est Statemachines Exécutables , disponible depuis le ruban Simulate.
Statemachines d'état peuvent être définies à n'importe quel niveau de granularité car elles sont une expression du comportement d'un Bloc . De nombreux nouveaux venus dans SysML sont confus sur ce point. Parce qu'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 de l'interrupteur et du sous-marin. Les deux modèles Statemachine pourraient avoir la même complexité, même si les choses modélisées sont elles-mêmes clairement à chaque extrémité du spectre en matière de complexité.
Statemachine diagrammes de machine d'état peuvent sembler assez simplistes au modélisateur inexpérimenté, mais ce 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. Cela prend un état d'esprit et une approche différents, et souvent le noyau du problème se concentre 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 les 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, discussions, chats et révisions formelles via le client de bureau, soit dans un Navigateur sur un téléphone intelligent, une tablette ou un ordinateur portable.
La Statemachine a son origine dans des comportements événementiels discrets, utilisant une Statemachine finie basée sur une variante orientée objet du formalisme StateCharts de David Harel.