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 propósito de recomendar MSC (Message Sequence Chart) es proporcionar un lenguaje de seguimiento para la especificación y descripción del comportamiento de comunicación de los componentes del sistema y su entorno mediante el intercambio de mensajes. Dado que en los MSC el comportamiento de la comunicación se presenta de una manera muy intuitiva y transparente, particularmente en la representación gráfica, el lenguaje MSC es fácil de aprender, usar e interpretar. En conexión con otros lenguajes, se puede utilizar para apoyar metodologías de especificación, diseño, simulación, prueba y documentación de sistemas.
Historia
La primera versión del estándar MSC se lanzó el 12 de marzo de 1993.
El 1996 Versión añadido referencias, ordenación y inlining conceptos expresiones, y HMSC introducido [1] ( H igh de nivel M ensaje S equence C harts), que son la forma de expresar una secuencia de MSCs.
La versión de MSC 2000 [2] agregó orientación a objetos, refinó el uso de datos y tiempo en diagramas y agregó 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:
- Cabeza, línea de vida y final de MSC: una línea vertical con una caja en la parte superior y una caja o una cruz en la parte inferior.
- Creación de instancias: flecha discontinua horizontal a la instancia recién creada.
- Intercambio de mensajes: flecha horizontal.
- Flujo de control: flecha horizontal con el prefijo 'llamar', flecha discontinua para el símbolo de respuesta, símbolos de método y suspensión en el medio.
- Temporizadores: inicio, cancelación, tiempo de espera.
- Intervalo de tiempo: relativo y absoluto con una flecha vertical discontinua.
- Condiciones: generalmente se usa para representar un estado de la máquina de estado 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.
- Concepto de datos: el usuario puede utilizar cualquier concepto de datos, si la vinculación no está definida, el concepto de datos predeterminado es el de SDL como se define en la recomendación Z.121.
- Coregion: una línea de instancia de dos guiones para describir eventos desordenados.
Extensiones de símbolo
- SDL-RT ha introducido:
- una representación de instancia de semáforo.
- un símbolo de guardar para guardar mensajes.
- una representación de instancia de semáforo.
Comparación con UML
El diagrama de secuencia UML 2.0 está fuertemente inspirado en ITU-T MSC. Aún así, por razones históricas, los principios básicos predeterminados son bastante diferentes:
- Líneas de vida
- En un MSC, las líneas verticales son entidades de ejecución autónomas. Por lo general, representan máquinas de estado que se ejecutan en paralelo. No es necesario que las máquinas de estado estén en la misma computadora.
- En un diagrama de secuencia, una línea vertical suele ser un objeto. El 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 asincrónico enviado de una entidad a otra. Una vez enviado el mensaje, la entidad emisora reanuda su ejecución.
- En un diagrama de secuencia, una flecha generalmente se entiende como una llamada de operación en una clase. Por lo tanto, es sincrónico y la entidad que llama se cuelga hasta que vuelve la operación.
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]
Gráficos de secuencia en vivo
David Harel sugirió que MSC tenía deficiencias 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]
Ver también
- Gráfico de secuencia de propiedades de PSC , una forma de describir propiedades en un MSC [9] o un diagrama de secuencia.
- Lenguaje de especificación y descripción SDL , un lenguaje ITU-T relacionado con MSC.
- Diagramas de interacción en UML .
Referencias
- ^ "HMSC" . sdl-forum.org . Consultado el 19 de septiembre de 2009 .
- ^ Øystein Haugen. "MSC 2000" (PDF) . Ericsson . Archivado desde el original (PDF) el 7 de junio de 2011 . Consultado el 19 de septiembre de 2009 .
- ^ "Novedades de MSC 2000 en relación con MSC 96" . sdl-forum.org . Consultado el 19 de septiembre de 2009 .
- ^ 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 .
- ^ Øystein Haugen (junio de 2000). "UML 2.0 frente a SDL / MSC - Declaración de posición de Ericsson" (PDF) . Ericsson . Consultado el 19 de septiembre de 2009 .
- ^ David Harel (8 de abril de 2003). "Gráficos de secuencia de mensajes" (PDF) . Archivado desde el original (PDF) el 26 de agosto de 2006 . Consultado el 20 de septiembre de 2009 .
- ^ David Harel (22 de febrero de 2005). "LSC: dar vida a los gráficos de secuencia de mensajes". Métodos formales en el diseño de sistemas . 19 : 45–80. doi : 10.1023 / A: 1011227529550 .
- ^ David Harel (2002). "Varias instancias y variables simbólicas en gráficos de secuencia ejecutables". Avisos ACM SIGPLAN . 37 (11): 83. CiteSeerX 10.1.1.20.5984 . doi : 10.1145 / 583854.582429 .
- ^ Emmanuel Gaudin; Eric Brunel (2013). SDL 2013: Ingeniería de confiabilidad basada en modelos . Apuntes de conferencias en Ciencias de la Computación. 7916 . Saltador. págs. 19–35. doi : 10.1007 / 978-3-642-38911-5_2 . ISBN 978-3-642-38910-8.
enlaces externos
- Diagrama de secuencia de mensajes (MSC) de la Recomendación UIT-T Z.120