Operadores de Interacción [Guía de Usuario de Enterprise Architect] |
Top Previous 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
Aprender más 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:
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. |