Pré. | Proc. |
Région d'expansion
Description
Sur un diagramme d'activité, une région d'expansion renferme 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 existe 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 (par exemple, ensemble ou sac). Toutes les sorties doivent se présenter 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 plusieurs sorties.
Vous pouvez créer une région d'extension en tant que variante d'une région (l'autre étant une région d'activité interruptible) à l'aide des pages Activité de la boîte à outils Diagramme . Vous êtes invité à spécifier la simultanéité des exécutions multiples de la région d'extension (parallèle, itérative ou en flux). Le mode parallèle indique que les éléments des collections entrantes peuvent être traités en même temps ou en se chevauchant, tandis qu'un mode de simultanéité itératif spécifie que l'exécution doit se produire de manière séquentielle. Une région d'extension 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'extension doit avoir une méthode pour support les flux.
Pour modifier le mode d'une région d'expansion, cliquez-droit dessus et sélectionnez l'option ' 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 Unified Modeling Language OMG (v2.5.1, pp.480-481) stipule :
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.