Réserver une Démo
Pré. Proc.

Jonction

A UML Junction pseudostate.

La description

Les pseudo-états de jonction sont utilisés pour concevoir des chemins de transition complexes dans les diagrammes Statemachine . Une jonction peut être utilisée pour combiner ou fusionner plusieurs chemins dans un chemin de transition partagé. Alternativement, une jonction peut diviser un chemin entrant en plusieurs chemins, similaire à un pseudo-état Fork. Contrairement aux Forks ou Jointures , les Junctions peuvent appliquer des gardes à chaque transition entrante ou sortante, de sorte que si l'expression de garde est False, la transition est désactivée.

Cet exemple illustre comment les gardes peuvent être appliquées aux transitions entrant ou sortant d'un pseudo-état de jonction.

An example using a Junction in a UML StateMachine diagram modeled in Sparx Systems Enterprise Architect.

Icône de la boîte à outils

Junction element

Apprenez Plus

Spécification OMG UML :

La spécification OMG Unified Modeling Language , (v2.5.1, p.313) indique :

Ce type de pseudo-état est utilisé pour connecter plusieurs transitions dans des chemins composés entre des States . Par exemple, un pseudo-état de jonction peut être utilisé pour fusionner plusieurs transitions entrantes en une seule transition sortante représentant un chemin de continuation partagé. Ou, il peut être utilisé pour diviser une transition entrante en plusieurs segments de transition sortants avec différentes contraintes de garde.

REMARQUE. Ces contraintes de garde sont évaluées avant l'exécution de toute transition composée contenant ce pseudo-état, c'est pourquoi on parle de branche conditionnelle statique.

Il peut arriver que, pour une transition composée particulière, la configuration des chemins de transition et des valeurs de garde soit telle que la transition composée soit empêchée d'atteindre une configuration d'état valide. Dans ces cas, la transition composée entière est désactivée même si ses déclencheurs sont activés. (Pour éviter cette situation dans certains cas, il est possible d'associer une garde prédéfinie notée "else" à au plus une Transition sortante. Cette Transition est activée si toutes les gardes attachées aux autres Transitions sont évaluées à faux). Si plusieurs gardes sont évaluées comme vraies, l'une d'entre elles est choisie. L'algorithme pour effectuer cette sélection n'est pas défini.