Activités (MOO)

Une activité est l'appel d'une action manuelle ou automatisée, telle que "envoyer un courrier", ou "incrémenter un compteur". Lorsqu'une activité prend le contrôle, elle effectue l'action puis, selon le résultat de cette action, la transition (flux de contrôle) est transmise à une autre activité.

Une activité peut être créée dans les types de diagramme suivants :

La prise en charge de UML 2 par PowerAMC permet de disposer d'une grande souplesse et d'un grand niveau de détail dans vos diagrammes d'activité. Vous pouvez simplement lier les activités entre elles afin de montrer un flux de contrôle de haut niveau, ou affiner votre modèle en spécifiant :



Dans l'exemple ci-dessus, l'activité RéceptionVérificationConnexion a comme type d'action "Accept Call" (voir Spécification des types d'action), et passe les deux paramètres de sortie "ID utilisateur" et "mot de passe" (voir Spécification des paramètres d'activité) à une série de décisions qui conduisent à RéponseVérificationConnexion. Cette dernière activité a un paramètre d'entrée appelé "Résultat" et le type d'action Reply Call.

Activités atomiques et décomposées

Une activité peut être atomique ou décomposée. Les activités décomposées contiennent des sous-activités, qui sont représentées dans un sous-diagramme. Pour plus d'informations, voir Activités décomposées et sous-activités.

Une activité PowerAMC équivaut à une activité UML (ActionState ou SubactivityState) et à un graphe d'activité. Dans UML, un ActionState représente l'exécution d'une action atomique, et un SubactivityState est l'exécution d'un graphe d'activité (qui est, à son tour, la description d'une action complexe représentée par des sous-activités).

Le tableau suivant montre les correspondances entre les concepts et la terminologie UML et PowerAMC :

Objet UML

Objets PowerAMC

ActionState

Activité

SubactivityState

Activité composite

Activity Graph

Activité composite

PowerAMC combine une SubactivityState et un graphe d'activités (activity graph) dans une activité décomposée de sorte que vous pouvez définir des sous-activités directement sous l'activité parent et ce, sans avoir à définir d'objet supplémentaire. Si vous devez mettre en exergue la différence, vous pouvez créer des activités directement sous le modèle ou le package, et utiliser des raccourcis d'activité pour détailler la mise en oeuvre des activités, ainsi SubactivityState correspond au raccourci d'une activité décomposée.