Informática

Operadores de control y/o marcos de interacción (UML 2)

30 mayo, 2013

Los marcos de interacción son una extensión que nos presenta UML 2 para el modelado de comportamiento a la hora de construir diagramas de interacción y más en concreto diagramas de secuencia. Esta importante extensión da soporte, entre otros aspectos, a las alternativas y a los bucles, que enriquecen considerablemente a los diagramas de secuencia.

Antes de nada empezaremos diciendo que los diagramas de interacción como su nombre indica describen una interacción, mejor dicho, muestran cómo se comunican los objetos en una interacción. Existen dos tipos: los diagramas de secuencia, que se podría decir que se centran más en la perspectiva temporal o cronológica de las interacciones y muestran de forma secuencial los envíos de mensajes entre objetos y los diagramas de comunicación (anteriormente a UML 2 denominados de colaboración) que ofrecen una mejor visión espacial, puesto que se centran en una representación espacial de los objetos, mostrando los enlaces de comunicación entre los objetos (o los vínculos entre clases), se trata de una alternativa de los diagramas de secuencia.

Para concluir con este apartado, diremos que los diagramas de comunicación pueden obtenerse automáticamente a partir de los correspondientes diagramas de secuencia (o viceversa), de ahí que digamos que ambos diagramas son equivalentes o isomorfos, puesto que se puede transformar un diagrama de secuencia en otro de comunicación (o al revés) sin perder información.

Como hemos dicho anteriormente, un marco de interacción es una parte del diagrama de secuencia asociado a una etiqueta, la cual contiene un operador de control que determina el modo de ejecución de esa secuencia.  A continuación veremos las principales modalidades de ejecución:

Ejecución opcional (opt)

Se trata de una alternativa, que se obtiene utilizando el operador opt seguido de una condición de test. El marco se ejecuta si se cumple esa condición.

Ejecución iterativa o bucle (loop)

El marco se ejecuta mientras se cumple una condición, se efectúa mediante el operador loop seguido de los parámetros opcionales min, max y de una condición de test. El contenido del marco se ejecutará min veces sin exceder del máximo establecido que lo estipularemos en el parámetro max.

Veamos un ejemplo del uso de marcos de interacción (en este caso opt y loop) para el pedido de un producto genérico en una web:

También existen otros operadores de control, vamos a mencionar alguno de ellos:

  • Ejecución condicional (alt): Se trata de otro operador para la alternativa, va seguida de varias condiciones de test y de la palabra clave else. El cuerpo se divide en varias regiones, cada una con una condición asociada. Se ejecuta el cuerpo de la región cuya condición se cumple. El contenido de la última región se asocia a la palabra clave else (si no) y sólo se ejecuta si no se verifica ninguna de las condiciones precedentes.
  • Ejecución paralela (par): En el cuál el cuerpo se divide en varias regiones. Cada región representa una computación paralela. Se ejecuta de forma paralela el cuerpo de cada región.
  • Ejecución break (break): Se ejecuta la traza de break en lugar del resto del fragmento donde está incluido (excepciones).

Por último para concluir comentaremos que puesto que no existe un equivalente a los marcos de interacción en los diagramas de comunicación, UML 2 estipula mecanismos de test y de bucle en el envío de mensajes, los cuales se realizan mediante una condición especificada entre corchetes después del número del mensaje, es decir: Número [condición] : mensaje.

Post publicado por: Jose Mª Megino

  • Reply
    Andrés
    4 octubre, 2016 at 2:43 am

    Hola, muy buen aporte. Una consulta, ¿con qué programa realizas los diagramas de secuencia?

Deja un comentario

Información básica acerca de cómo protegemos tus datos conforme al Reglamento General de Protección de Datos
(Reglamento UE 2016/679)

De conformidad con lo establecido en el Reglamento General de Protección de Datos, te informamos de:
- Quien es el responsable del tratamiento: SEAS, Estudios Superiores Abiertos S.A.U. C/Violeta Parra nº 9 50015
Zaragoza (España).
- Cuál es el fin del tratamiento: Gestión y control de los comentarios del blog de SEAS.
- En que basamos la legitimación: En tu consentimiento.
- La comunicación de los datos: No se comunicarán tus datos a terceros.
- Los criterios de conservación de los datos: Se conservarán mientras exista interés mutuo para mantener el fin del
tratamiento o por obligación legal. Cuando dejen de ser necesarios, procederemos a su destrucción.
- Los derechos que te asisten:
(i) Derecho de acceso, rectificación, portabilidad y supresión de sus datos y a la limitación u oposición al tratamiento
(ii) derecho a retirar el consentimiento en cualquier momento y (iii) derecho a presentar una reclamación ante
la autoridad de control (AEPD).
- Los datos de contacto para ejercer tus derechos: SEAS, Estudios Superiores Abiertos S.A.U. C/ Violeta Parra nº 9 –
50015 Zaragoza (España) o través de correo electrónico a lopd@estudiosabiertos.com
- También puedes ponerte en contacto con nuestro Delegado de Protección de Datos en dpd@estudiosabiertos.com

 

Información adicional: Puedes consultar la información adicional y detallada sobre nuestra política de privacidad