| Operador de Interação | Descrição |
|---|---|
| Alternativo (alt) | Um operador de interação alternativo representa o equivalente lógico de uma instrução if-then-else. Somente uma das alternativas oferecidas é executada em qualquer transferência através da interação. No entanto, como para qualquer operando, o operando selecionado na estrutura alternativa é executado apenas se a condição de segurança atestar true. Se não houver segurança, o operando sempre será executado quando for selecionado. A cláusula else do fragmento alternativo combinado é executado quando nenhuma outra opção é selecionada. |
| Opção (opt) | Um operador de interação de opção representa o equivalente lógico de uma instrução if. Para executar, a condição de segurança deve ser atendida. Se a condição de proteção falhar, o comportamento será ignorado. A representação gráfica de um fragmento combinado de opção é semelhante a um alternativo que oferece somente uma possibilidade. |
| Loop | Um operador de interação de loop indica que o fragmento de interação é executado repetidamente. O número de vezes que ele é executado é determinado pelos parâmetros minint e maxint do operador. A sintaxe do operador de loop é (minint, maxint) em que maxint também pode ser infinito (*). Depois que o número mínimo de iterações for atendido, uma expressão booleana é testada em cada transferência. Quando a expressão booleana é testada como false, o loop é finalizado. |
| Paralelo (par) | Um operador de interação paralelo indica que os fragmentos de interação são executados simultaneamente uns com os outros. |
| Região Crítica (critical) | Um operador de região crítica indica que o fragmento pode ter apenas um encadeamento executado nele a qualquer momento. O fragmento deve ser concluído antes que outro encadeamento possa ser executado. Por exemplo, se uma operação d() estiver na região crítica e for chamada, nenhum outro operando poderá ser chamado até a conclusão de d(). |
| Negativo (neg) | Um operador de interação negativo mostra interações inválidas que não devem ser permitidas. |
| Quebra | O operador de interação de quebra é semelhante ao mecanismo de quebra em outras linguagens de programação. Quando a condição de segurança é true, a interação atual é abandonada e a cláusula no operando de interação de quebra é executada. |
| Seqüência Estrita (strict) | O operador de interação estrito define explicitamente a ordem de execução de fragmentos de interação. O operador estrito força a conclusão da interação antes de executar interações aninhadas ou adicionais. |
| Seqüência fraca (seq) | O operador de interação de seqüência fraca inclui ordem nas interações no fragmento com base em seus posicionamentos. A ordem tem como base a especificação UML 2.0. A seqüência fraca permite execução paralela parcial, mas controla a ordem de eventos na mesma linha de vida de interações diferentes. |
| Ignorado | O operador de interação ignorado indica mensagens às quais o fragmento de interação não deve responder. O operador ignorado geralmente é semelhante ao operador de consideração. |
| Consideração | O operador de interação de consideração indica mensagens às quais o fragmento de interação deve responder. O operador de consideração geralmente é semelhante ao operador ignorado. |
| Afirmação | O operador de interação de afirmação indica que um operando de interação está na próxima seqüência no fragmento de interação. |