Operadores de Interacción [Guía de Usuario de Enterprise Architect]

Top Previous Next

Operadores de Interacción

button_main button_prev button_next

Al crear Fragmentos Combinados, debe aplicar un operador de interacción apropiado para caracterizar el fragmento. La siguiente tabla proporciona orientación sobre los distintos operadores, y sus descripciones correspondientes.

Operador de Interacción

Operador

Acción

alt

Dividir fragmentos de interacción basados en condiciones booleanas.

 

opt

Adjuntar un fragmento opcional de interacción.

 

par

Indicar que los operandos operan en paralelo.

 

loop

Indicar que el operando se repite un número de veces especificado por restricciones de interacción.

 

critical

Indicar una secuencia que no puede ser interrumpida por otro proceso.

 

neg

Afirmar que un fragmento es inválido, e implica que todas las demás interacciones son válidas.

 

assert

Especificar el único fragmento válido para ocurrir. Este operador es a menudo adjunto dentro de un operando considerar o ignorar.

 

strict

Indicar que los comportamientos de los operandos deben ser procesados en una secuencia estricta.

 

seq

Indicar que el Fragmento Combinado está débilmente secuenciado. Esto significa que el orden dentro de los operandos se mantiene, pero el orden entre los operandos es indefinido, siempre y cuando la ocurrencia de un evento del primer operando sea antes que la del segundo operando, si las ocurrencias del evento están en la misma línea de vida.

 

ignore

Indicar qué mensajes deberían ser ignorados durante la ejecución, o pueden aparecer en cualquier parte de la traza de ejecución.

 

consider

Especificar qué mensajes deberían ser considerados en la traza. Esto se utiliza a menudo para especificar las ocurrencias de evento resultantes con el uso de un operador assert.

 

ref

Proporcionar una referencia a otro diagrama.

El fragmento ref no se crea utilizando el método descrito en el tema Crear Fragmento Combinado. Para crear un fragmento de ref, simplemente arrastre un diagrama existente desde el Explorador de Proyectos hacia el diagrama actual.

 

Aprender más

Fragmentos Combinados

Crear un Fragmento Combinado

 

Especificación UML OMG:

La especificación UML OMG (Superestructura de Especificación UML, v2.1.1, p. 468-471) dice:

La semántica de CombinedFragment depende del interactionOperator como se explica a abajo.

Alternativas

El interactionOperator alt designa que el CombinedFragment representa una elección de comportamiento. Como máximo uno de los operandos será elegido. El operando elegido debe tener un expresión de guardia, explícita o implícita, que se evalúa como verdadera en este punto de la interacción. Una guardia verdadera implícita está implícito si el operando no tiene ninguna guarda.

El conjunto de trazas que define una elección es la unión de las trazas (vigiladas) de los operandos.

Un operando custodiado por else designa a un guarda que es la negación de la disyuntiva de todas las otras guardas en el CombinedFragment envolvente.

Si ninguno de los operandos tiene a un guardia que se evalúa como verdadera, ninguno de los operandos son ejecutados y el resto del InteractionFragment adjunto es ejecutado.

Opción

El interactionOperator opt designa que el CombinedFragment representa una elección de comportamiento donde el (único) operando pasa o no pasa nada. Una opción es semánticamente equivalente a un CombinedFragment alternativo donde hay un operando con contenido no-vacío de contenido y el segundo operando está vacío.

Interrupción

La interrupción del interactionOperator designa que CombinedFragment representa escenario en interrupción en el sentido de que el operando es un escenario que es realizado en lugar del resto del InteractionFragment envolvente. Un operador de interrupción con una guarda es elegido cuando la guarda es verdadera y el resto del Fragmento de Interacción envolvente es ignorado. Cuando la guarda del operando de interrupción es falsa, el operando de interrupción es ignorado y el resto del InteractionFragment envolvente es elegido. La elección entre un operando de interrupción sin guarda y el resto de los InteractionFragment envolventes se realiza de manera no determinista.

UnCombinedFragment con interrupción del interactionOperator debería cubrir todas las Líneas de Vida del InteractionFragment envolvente.

Paralelo

El interactionOperator par designa que el CombinedFragment representa una fusión paralela entre los comportamientos de los operandos. Las OccurrenceSpecifications de los diferentes operandos pueden ser intercalados de cualquier manera mientras el orden impuesto por cada operando como tal sea preservado.

Una fusión paralela define un conjunto de trazas que describe todas las maneras en que las OccurrenceSpecifications de los operandos pueden ser intercaladas sin obstruir el orden de las OccurrenceSpecifications dentro del operando.

Secuenciación Débil

El interactionOperator seq designa que el CombinedFragment representa una secuenciación débil entre los comportamientos de los operandos.

La secuenciación débil está definido por el conjunto de las trazas con estas propiedades:

1.

El orden de OccurrenceSpecifications dentro de cada uno de los operandos se mantiene en el resultado.

2.

Las OccurrenceSpecifications en diferentes líneas de vida de diferentes operandos pueden venir en cualquier orden.

3.

Las OccurrenceSpecifications en la misma línea de vida desde diferentes operandos se ordenan tal que una OccurrenceSpecification del primer operando viene antes que la del segundo operando.

Así, la secuenciación débil se reduce a una fusión paralela cuando los operandos están en conjuntos disjuntos de participantes. La secuenciación débil se reduce a una secuenciación estricta cuando los operandos trabajan en sólo uno de los participantes.

Secuenciación Estricta

El interactionOperator strict designa que el CombinedFragment representa una secuenciación estricta entre los comportamientos de los operandos. La semántica de la secuenciación estricta define un orden estricto de los operandos en el primer nivel dentro del CombinedIFragment con el interactionOperator estricto. Por lo tanto las OccurrenceSpecifications dentro del CombinedFragment contenido no se puede comparar directamente con otras OccurrenceSpecifications del CombinedFragment adjunto.

Negativo

El interactionOperator neg designa que el CombinedFragment representa trazas que se definen como inválidas.

El conjunto de trazas que definen un CombinedFragment con interactionOperator negativo es igual al conjunto de trazas dadas por su (único) operando, sólo que este es un conjunto de trazas inválidas en lugar de trazas válidas. Todos los InteractionFragments que son diferentes de los Negativos se consideran positivos en el sentido de que describen trazas que son válidas y deberían ser posibles.

Región Crítica

El interactionOperator crítico designa que el CombinedFragment representa una región crítica. Una región crítica significa que las trazas de la región no pueden ser intercaladas por otras OccurrenceSpecifications (sobre aquellas Líneas de Vida cubiertas por la región). Esto significa que la región es tratada atómicamente por un fragmento envolvente al determinar el conjunto de trazas válidas. Incluso a través de CombinedFragments envolventes puede implicar que algunas OccurrenceSpecifications puedan intercalarse en la región, tal como con el operador-par, esto se evita definiendo una región.

Así, el conjunto de trazas de construcciones envolventes están restringidas por regiones críticas.

Ignorar / Considerar

(p. 473) El interactionOperator ignorar designa que hay algunos tipos de mensajes que no se muestran dentro de este fragmento combinado. Estos tipos de mensajes pueden considerarse insignificantes y son implícitamente ignorados si aparecen en una ejecución correspondiente. Alternativamente, uno puede entender que ignorar significa que los mensajes son ignorados pueden aparecer en cualquier parte de la traza.

A la inversa, el interactionOperatorconsiderar designa qué mensajes deberían ser considerados dentro de este CombinedFragment. Esto es equivalente a definir cualquier otro mensaje para ser ignorado.

Afirmación

El interactionOperator assert designa que el CombinedFragment representa una afirmación. Las secuencias del operando de la afirmación son las únicas continuaciones válidas. Todas las demás continuaciones resultan como una traza inválida. Las afirmaciones son a menudo combinadas con Ignorar o Considerar.

Bucle

El interactionOperator loop designa que el CombinedFragment representa un bucle. El operando bucle será repetido varias veces.

La Guarda puede incluir un número inferior y superior de iteraciones del bucle así como una expresión Booleana. La semántica es tal que un bucle iterará mínimo el 'minint' número de veces (dada por la expresión de iteración en la guarda) y como máximo el 'maxint' número de veces. Después de que se haya ejecutado el número mínimo de iteraciones, y la expresión booleana sea falsa, el bucle finaliza. La construcción del bucle representa una aplicación recursiva del operador seq donde el operando bucle es secuenciado después del resultado de iteraciones anteriores.

La semántica de Compuertas

Las compuertas de un CombinedFragment representan la interfaz sintáctica entre el CombinedFragment y sus alrededores, lo que significa la interfaz hacia otros InteractionFragments.

El único propósito de las compuertas es definir el origen y el destino de los mensajes.