Articulo de referencia

Diagrama de secuencia de mensajes

El diagrama muestra tres entidades. Al inicio, el teléfono está desconectado. Un usuario intenta establecer una conexión. Se envía una solicitud de conexión al conmutador y se i...

El diagrama muestra tres entidades. Al inicio, el teléfono está desconectado. Un usuario intenta establecer una conexión. Se envía una solicitud de conexión al conmutador y se inicia un temporizador. Una alternativa contempla dos posibles respuestas: 1) El temporizador se detiene porque el conmutador no responde y el teléfono vuelve al estado desconectado. 2) El conmutador concede la conexión y se establece la llamada.

Un diagrama de secuencia de mensajes (o MSC ) es un diagrama de interacción de la familia SDL estandarizado por la Unión Internacional de Telecomunicaciones .

El objetivo de recomendar MSC (Message Sequence Chart) es proporcionar un lenguaje de traza para la especificación y descripción del comportamiento comunicativo de los componentes del sistema y su entorno mediante el intercambio de mensajes. Dado que en los MSC el comportamiento comunicativo se presenta de forma muy intuitiva y transparente, especialmente en la representación gráfica, el lenguaje MSC es fácil de aprender, usar e interpretar. En combinación con otros lenguajes, puede utilizarse para respaldar metodologías de especificación, diseño, simulación, pruebas y documentación de sistemas.

Historia

La primera versión del estándar MSC se publicó el 12 de marzo de 1993.

La versión de 1996 agregó conceptos de referencias, ordenación y expresiones en línea , e introdujo HMSC [ 1 ] ( High -level Message Sequence Charts ), que son la forma de expresar una secuencia de MSC.

La versión MSC 2000 [ 2 ] añadió orientación a objetos, perfeccionó el uso de datos y tiempo en diagramas y añadió el concepto de llamadas a métodos remotos. [ 3 ]

La última versión se publicó en febrero de 2011.

Símbolos en MSC

Los símbolos existentes son:

  • Cabecera, línea de vida y extremo del MSC: una línea vertical con un cuadrado en la parte superior y un cuadrado o una cruz en la parte inferior.
  • Creación de instancia: flecha horizontal discontinua que apunta a la instancia recién creada.
    Creación de procesos dinámicos en un MSC
  • Intercambio de mensajes: flecha horizontal.
  • Flujo de control : flecha horizontal con el prefijo 'llamada', flecha discontinua para el símbolo de respuesta, y símbolos de método y suspensión entre ellos.
    Operación de llamadas en un MSC
  • Temporizadores: iniciar, cancelar, expirar.
  • Intervalo de tiempo: relativo y absoluto con una flecha vertical discontinua.
    Restricción de tiempo en un MSC
  • Condiciones: se utilizan normalmente para representar un estado de la máquina de estados subyacente.
  • Acción: una caja.
  • Expresiones en línea: composición alternativa, composición secuencial, excepción, región opcional, composición paralela, iteración (bucle).
  • Referencia: referencia a otro MSC.
    Referencia MSC en un MSC
  • Concepto de datos: El usuario puede utilizar cualquier concepto de datos; si el enlace no está definido, el concepto de datos predeterminado es el de SDL, tal como se define en la recomendación Z.121.
  • Coregion: una línea de instancia de doble guion para describir eventos no ordenados.

Extensiones de símbolos

  • SDL-RT ha introducido:
    • una representación de instancia de semáforo.
      Extensión del semáforo SDL-RT a MSC
    • un símbolo de guardar para guardar mensajes.

Comparación con UML

El diagrama de secuencia UML 2.0 está fuertemente inspirado en el MSC de la ITU-T. Sin embargo, por razones históricas, los principios básicos predeterminados son bastante diferentes:

  • Líneas de vida
  • En un MSC, las líneas verticales representan entidades de ejecución autónomas. Generalmente, representan máquinas de estado que se ejecutan en paralelo. Las máquinas de estado no tienen por qué estar en el mismo ordenador.
  • En un diagrama de secuencia, una línea vertical suele representar un objeto. Este objeto puede ser activo (en su propio hilo de ejecución) o pasivo (en el contexto de ejecución de un objeto activo).
  • Flechas
  • En un MSC, una flecha suele ser un mensaje asíncrono que se envía de una entidad a otra. Una vez enviado el mensaje, la entidad emisora ​​reanuda su ejecución.
  • En un diagrama de secuencia, una flecha suele interpretarse como una llamada a una operación en una clase. Por lo tanto, es síncrona y la entidad que realiza la llamada permanece bloqueada hasta que la operación finaliza.

Se ha dicho que MSC ha sido considerado como un candidato para los diagramas de interacción en UML. [ 4 ]

Sin embargo, los defensores de MSC, como Ericsson, piensan que MSC es mejor que UML 2.0 para modelar sistemas grandes o complejos. [ 5 ]

Diagramas de secuencia en vivo

David Harel sugirió que MSC tenía deficiencias tales como:

  • MSC propone una semántica de ordenación parcial débil que hace imposible capturar algunos requisitos de comportamiento,
  • La relación entre los requisitos de MSC y la especificación ejecutable no está clara.

y propuso Live Sequence Charts (LSC) como una extensión del estándar MSC. [ 6 ] [ 7 ] [ 8 ]

Véase también

  • Diagrama de secuencia de propiedades PSC , una forma de describir propiedades en un MSC [ 9 ] o un diagrama de secuencia.
  • SDL (Specification and Description Language), un lenguaje de la UIT-T relacionado con MSC.
  • Diagramas de interacción en UML .

Referencias

  1. "HMSC" . sdl-forum.org . Consultado el 19 de septiembre de 2009 .
  2. Øystein Haugen. "MSC 2000" (PDF) . Ericsson . Archivado del original (PDF) el 7 de junio de 2011. Consultado el 19 de septiembre de 2009 .
  3. "¿Qué novedades incluye MSC 2000 en relación con MSC 96?" . sdl-forum.org . Consultado el 19 de septiembre de 2009 .
  4. Ekkart Rudolph; Jens Grabowski; Peter Graubmann (1999). "Hacia una armonización de los diagramas de secuencia UML y MSC" . Universidad de Göttingen . Consultado el 25 de agosto de 2014 .
  5. Øystein Haugen (junio de 2000). "UML 2.0 vs. SDL/MSC – Declaración de posición de Ericsson" (PDF) . Ericsson . Consultado el 19 de septiembre de 2009 .
  6. David Harel (8 de abril de 2003). "Diagramas de secuencia de mensajes" (PDF) . Archivado del original (PDF) el 26 de agosto de 2006. Consultado el 20 de septiembre de 2009 .
  7. David Harel (22 de febrero de 2005). "LSCs: Dando vida a los diagramas de secuencia de mensajes". Métodos formales en el diseño de sistemas . 19 : 45–80 . doi : 10.1023/A:1011227529550 . S2CID 1551133 . 
  8. David Harel (2002). "Múltiples instancias y variables simbólicas en diagramas de secuencia ejecutables". ACM SIGPLAN Notices . 37 (11): 83– 100. CiteSeerX 10.1.1.20.5984 . doi : 10.1145/583854.582429 . 
  9. Emmanuel Gaudin; Eric Brunel (2013). SDL 2013: Ingeniería de confiabilidad basada en modelos . Lecture Notes in Computer Science. Vol. 7916. Springer. pp. 19–35 . doi : 10.1007/978-3-642-38911-5_2 . ISBN   978-3-642-38910-8.
  • Diagrama de secuencia de mensajes (MSC) de la Recomendación Z.120 de la UIT-T