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

Opérateurs d'interaction

Lors de la création de fragments combinés, vous devez appliquer un opérateur d'interaction approprié pour caractériser le fragment. Ce tableau fournit des guidage sur les différents opérateurs, et leurs descriptions correspondantes.

Opérateur d'interaction

Opérateur

Action

autre

Divisez les fragments d'interaction en fonction des conditions booléennes.

opter

Joignez un fragment d'interaction facultatif.

par

Indique que les opérandes fonctionnent en parallèle.

boucle

Indique que l'opérande se répète un certain nombre de fois, comme spécifié par les contraintes d'interaction.

critique

Indiquez une séquence qui ne peut pas être interrompue par d'autres traitements.

négatif

Affirmer qu'un fragment n'est pas valide et implique que toutes les autres interactions sont valides.

affirmer

Spécifiez le seul fragment valide à se produire. Cet opérateur est souvent inclus dans un opérande considérer ou ignorer.

stricte

Indiquez que les comportements des opérandes doivent être traités dans un ordre strict.

suite

Indique que le fragment combiné est faiblement séquencé. Cela signifie que l'ordre dans les opérandes est conservé, mais que l'ordre entre les opérandes est indéfini, tant qu'une occurrence d'événement du premier opérande précède celle du second opérande, si les occurrences d'événement se trouvent sur la même ligne de vie.

ignorer

Indiquez quels messages doivent être ignorés lors de l'exécution ou peuvent apparaître n'importe où dans la trace d'exécution.

envisager

Spécifiez les messages à prendre en compte dans la trace. Ceci est souvent utilisé pour spécifier les occurrences d'événement résultantes à l'aide d'un opérateur d'assertion.

réf

Fournissez une référence à un autre diagramme .

Le fragment de référence n'est pas créé à l'aide de la méthode décrite dans la rubrique Créer un fragment combiné . Pour créer un fragment ref, faites simplement glisser un diagramme existant de la fenêtre Navigateur vers le diagramme courant .

Apprenez Plus

Spécification OMG UML :

La spécification OMG Unified Modeling Language (v2.5.1, pp.583-585) indique :

La valeur de interactionOperator est significative pour la sémantique de CombinedFragment, comme spécifié ci-dessous pour chaque valeur d'énumération interactionOperator .

Alternatives

L'interactionOperator alt indique que le CombinedFragment représente un choix de comportement. Au plus un des opérandes sera choisi. L'opérande choisi doit avoir une expression de garde explicite ou implicite qui prend la valeur true à ce stade de l'interaction. Une vraie garde implicite est implicite si l'opérande n'a pas de garde. L'ensemble des traces qui définit un choix est l'union des traces (gardées) des opérandes. Un opérande gardé par else désigne une garde qui est la négation de la disjonction de toutes les autres gardes dans le CombinedFragment englobant. Si aucun des opérandes n'a de garde qui prend la valeur true, aucun des opérandes n'est exécuté et le reste de l'InteractionFragment englobant est exécuté. Si un CombinedFragment Gate interne est utilisé dans n'importe quel InteractionOperand d'un CombinedFragment alt, un Gate avec le même nom doit être utilisé par chaque InteractionOperand de ce CombinedFragment alt.

Option

L'opt interactionOperator indique que le CombinedFragment représente un choix de comportement où soit l'opérande (unique) se produit, soit rien ne se passe. Une option est sémantiquement équivalente à un CombinedFragment alternatif où il y a un opérande avec un contenu non vide et le deuxième opérande est vide.

Casser

La rupture interactionOperator indique que le CombinedFragment représente un scénario de rupture dans le sens où l'opérande est un scénario qui est exécuté à la place du reste de l'InteractionFragment englobant. Un opérateur d'interruption avec une garde est choisi lorsque la garde est vraie et que le reste du fragment d'interaction englobant est ignoré. Lorsque la garde de l'opérande d'interruption est fausse, l'opérande d'interruption est ignorée et le reste de l'InteractionFragment englobant est choisi. Le choix entre un opérande break sans garde et le reste de l'InteractionFragment englobant est fait de manière non déterministe. Un CombinedFragment avec interactionOperator doit couvrir toutes les lignes de vie du InteractionFragment englobant.

Parallèle

L'interactionOperator par indique que le CombinedFragment représente une fusion parallèle entre les comportements des opérandes. Les OccurrenceSpecifications des différents opérandes peuvent être entrelacées de n'importe quelle manière tant que l'ordre imposé par chaque opérande en tant que tel est préservé. Une fusion parallèle définit un ensemble de traces qui décrit toutes les manières dont les OccurrenceSpecifications des opérandes peuvent être entrelacées sans obstruer l'ordre des OccurrenceSpecifications dans l'opérande.

Séquençage faible

L'interactionOperator seq indique que le CombinedFragment représente un séquencement faible entre les comportements des opérandes. Le séquençage faible est défini par l'ensemble des traces avec ces propriétés :

1 L'ordre des OccurrenceSpecifications dans chacun des opérandes est conservé dans le résultat.

2 OccurrenceLes spécifications sur différentes lignes de vie à partir de différents opérandes peuvent apparaître dans n'importe quel ordre.

3 Les OccurrenceSpecifications sur la même ligne de vie à partir de différents opérandes sont ordonnées de telle sorte qu'une OccurrenceSpecification du premier opérande précède celle du deuxième opérande.

Ainsi, le séquençage faible se réduit à une fusion parallèle lorsque les opérandes se trouvent sur des ensembles disjoints de participants. Un séquençage faible se réduit à un séquençage strict lorsque les opérandes ne fonctionnent que sur un seul participant.

Séquençage strict

L'interactionOperator strict indique que le CombinedFragment représente un séquencement strict entre les comportements des opérandes. La sémantique du séquençage strict définit un ordre strict des opérandes au premier niveau dans le CombinedFragment avec interactionOperator strict. Par conséquent, les OccurrenceSpecifications contenues dans le CombinedFragment contenu ne seront pas directement comparées aux autres OccurrenceSpecifications du CombinedFragment englobant.

Négatif

L'interactionOperator neg indique que le CombinedFragment représente des traces définies comme non valides. L'ensemble de traces qui définit un CombinedFragment avec interactionOperator négatif est égal à l'ensemble de traces donné par son (unique) opérande, seulement que cet ensemble est un ensemble de traces invalides plutôt que valides. Tous les InteractionFragments qui sont différents de Negative sont considérés comme positifs, ce qui signifie qu'ils décrivent des traces qui sont valides et devraient être possibles.

Région critique

L'interactionOperator critique indique que le CombinedFragment représente une région critique. Une région critique signifie que les traces de la région ne peuvent pas être entrelacées par d'autres spécifications d'occurrence (sur les lignes de vie couvertes par la région). Cela signifie que la région est traitée de manière atomique par le fragment englobant lors de la détermination de l'ensemble de traces valides. Même si l'inclusion de CombinedFragments peut impliquer que certaines OccurrenceSpecifications peuvent s'imbriquer dans la région, comme avec l'opérateur par, cela est empêché en définissant une région. Ainsi, l'ensemble des traces des constructions englobantes est limité par des régions critiques.

Ignorer / Considérer

L'interactionOperator ignore indique que certains types de messages ne sont pas affichés dans ce fragment combiné. Ces types de message peuvent être considérés comme non significatifs et sont implicitement ignorés s'ils apparaissent dans une exécution correspondante. Alternativement, on peut comprendre que ignorer signifie que les types de message qui sont ignorés peuvent apparaître n'importe où dans les traces. Inversement, l'interactionOperator consider désigne les messages à considérer dans ce fragment combiné. Cela équivaut à définir tous les autres messages à ignorer.

Affirmation

L'assertion interactionOperator indique que CombinedFragment représente une assertion. Les suites de l'opérande de l'assertion sont les seules suites valides. Toutes les autres continuations entraînent une trace non valide. Les assertions sont souvent combinées avec Ignorer ou Considérer comme le montre la Figure 17.17.

Boucle

La boucle interactionOperator indique que CombinedFragment représente une boucle. L'opérande de boucle sera répété un certain nombre de fois.

La garde peut inclure un nombre inférieur et un nombre supérieur d'itérations de la boucle ainsi qu'une expression booléenne. La sémantique est telle qu'une boucle itérera au minimum le nombre de fois 'minint' (donné par l'expression d'itération dans la garde) et au plus le nombre de fois 'maxint'. Une fois que le nombre minimum d'itérations a été exécuté et que l'expression booléenne est fausse, la boucle se termine. La construction de boucle représente une application récursive de l'opérateur seq où l'opérande de boucle est séquencé après le résultat des itérations précédentes.

Si la boucle contient une InteractionConstraint distincte avec une spécification, la boucle ne se poursuivra que si cette spécification prend la valeur true lors de l'exécution, quel que soit le nombre minimum d'itérations spécifié dans la boucle.