Pré. | Proc. |
Région d'expansion
La description
Sur un diagramme d'activité , une région d'expansion contient un groupe d'ActivityNodes et d'ActivityEdges qui doivent être exécutés plusieurs fois sur les données entrantes, une fois pour chaque élément de la collection d'entrée. S'il y a plusieurs entrées, les tailles de collection doivent correspondre ; si ce n'est pas le cas, la plus petite collection détermine le nombre d'exécutions. Les collections doivent également être du même type (comme un ensemble ou un sac). Toutes les sorties doivent être sous la forme d'une collection d'au moins la même taille que la collection d'entrée ; la collection de sortie peut être plus grande si chaque exécution peut produire plus d'une sortie.
Vous créez une région d'expansion comme une variante d'une région (l'autre est une région d'activité interruptible) à l'aide des pages d'activité de la boîte à outils Diagramme . Vous êtes invité à spécifier la simultanéité des exécutions multiples de la région d'expansion (parallèle, itérative ou flux). Parallèle indique que les éléments des collections entrantes peuvent être traités en même temps ou se chevaucher, alors qu'un mode de concurrence itératif spécifie que l'exécution doit se produire de manière séquentielle. Une région d'expansion en mode flux indique que l'entrée et la sortie entrent et sortent sous forme de flux, et que le processus de la région d'expansion doit avoir une méthode pour prendre en support flux.
Pour modifier le mode d'une Région d'Expansion, cliquez-droit dessus et sélectionnez l'onglet ' Propriétés | Action spéciale ', puis sélectionnez l'onglet 'Avancé' et cliquez sur la flèche déroulante dans le champ 'mode'.
Icône de la boîte à outils
Apprenez Plus
Spécification OMG UML :
La spécification OMG Unified Modeling Language (v2.5.1, pp.480-481) indique :
Une ExpansionRegion est un StructuredActivityNode qui exécute ses éléments contenus plusieurs fois correspondant aux éléments d'une collection d'entrée.
Une ExpansionRegion est un StructuredActivityNode qui prend en entrée une ou plusieurs collections de valeurs et exécute ses ActivityNodes et ActivityEdges contenus sur chaque valeur de ces collections. Si le calcul produit des résultats, ceux-ci peuvent être collectés dans des collections de sortie. Le nombre de collections de sortie peut différer du nombre de collections d'entrée.