Top Qs
Chronologie
Chat
Contexte
Message Sequence Chart
De Wikipédia, l'encyclopédie libre
Remove ads
Remove ads
Un diagramme de séquence de messages (ou MSC) est un diagramme d’interaction de la famille SDL standardisée par l'UIT sous la référence Z.120.

L'objectif de la recommandation MSC (Message Sequence Chart) est de fournir une notation pour spécifier et décrire les interactions entre des composants d'un système, entre eux ou avec leur environnement, par l'intermédiaire de messages. Comme le MSC présente le comportement de manière intuitive et transparente, en particulier avec sa représentation graphique, la notation MSC est facile à apprendre, à utiliser et à interpréter. En connexion avec d'autres langages elle peut être utilisée pour supporter les méthodologies de spécification système, de conception, de simulation, de test, et de documentation.
Remove ads
Histoire
La première version de la recommandation date du .
La version de 1996 a introduit les références, l'ordre, les expressions en ligne, et la notion de HMSC[1] (High-level Message Sequence Charts) qui permet de combiner des MSC.
La version MSC 2000[2] introduit l'orientation objet, précise l'usage des données et du temps dans les diagrammes, et introduit les appels aux procédures distantes[3].
La dernière version a été publiée en .
Remove ads
Symboles dans le MSC
Résumé
Contexte
Les symboles disponibles sont:
- Tête d'instance, ligne de vie, et de fin de vie: une ligne verticale avec une boite au sommet, et une boite ou une croix à sa base.
- Création d'instance: une ligne horizontale pointillée jusqu'à la nouvelle instance.
Creation dynamique de process dans un MSC - Échange de message: flèche horizontale.
- Flot de contrôle: flèche horizontale avec le préfixe 'call', flèche en pointillée pour le retour, symbole de suspension ou d'appel de méthode entre les deux.
Appel de méthode dans un MSC - Temporisateurs: démarrage, annulation, et échéance.
- Intervalle de temps: relative et absolue avec une flèche verticale pointillée.
Contrainte de temps dans un MSC - Condition: habituellement utilisée pour représenter un état de la machine d'état sous-jacente.
- Action: une boite.
- Expression en ligne: alternative, séquence, exception, option, parallélisme, boucle.
- Référence: Référence à un autre MSC.
Référence MSC dans un MSC - Données: L'utilisateur peut utiliser n'importe quel type de données, si le lien est indéfini les types de données par défaut sont ceux du SDL tels que définis dans la recommandation Z.121.
- Co-région: une double ligne de vie pointillée permet de décrire des évènements non ordonnés.
Remove ads
Extension
- SDL-RT a introduit:
Comparaison avec UML
Résumé
Contexte
Le diagramme de séquence UML 2.0 est fortement inspiré des MSC de l'UIT. Cependant, pour des raisons historiques, les principes de base sont interprétés différemment:
- Lignes de vie
- Dans un MSC, les lignes de vie sont des entités d'exécution autonome. Elles représentent habituellement des machines d'état qui s'exécutent en parallèle. Les machines ne s'exécutent pas obligatoirement sur la même machine.
- Dans un diagramme de séquence, une ligne verticale est habituellement un objet (instance d'une classe). L'objet peut être actif (dans son propre contexte d'exécution) ou passif (dans le contexte d'exécution d'un objet actif).
- Flèches
- Dans un MSC une flèche est habituellement un message asynchrone envoyé d'une entité à une autre. Une fois que le message est envoyé, l'entité émettrice reprend le cours de son exécution.
- Dans un diagramme de séquence une flèche est habituellement interprétée comme un appel de méthode sur un objet. De ce fait elle représente un appel synchrone et l'entité appelante est suspendue jusqu'à la fin de l'opération.
Le MSC a fortement inspiré les diagrammes d’interaction d'UML 2[4].
Cependant, les promoteurs du MSC tels que Ericsson pense que les MSCs sont meilleurs que les diagrammes de séquence UML 2.0 pour modéliser des systèmes complexes de grande taille[5].
Remove ads
Live Sequence Charts
David Harel pense que les MSCs présentent certaines lacunes:
- Le MSC proposerait une sémantique limitée concernant les notions d'ordre qui rend impossible d'exprimer certains comportements,
- La relation entre un besoin sous forme de MSC et la spécification exécutable ne serait pas toujours claire.
Pour remédier à ce qu'il voit comme étant des lacunes au MSC, David Harel propose une extension au standard appelée LSC (Live Sequence Charts)[6],[7],[8].
Remove ads
Outils
- PragmaDev Tracer Outil gratuit d’édition et de génération de traces MSC.
- MscGen – Génération automatique de diagrammes basés sur une description textuelle des messages.
- MscGenerator - Une version avancée de MscGen, conçue pour les flots de messages télécoms.
- Générateur de MSC en ligne.
- Msc2Svg – Génère des MSC au format SVG à partir de fichiers au format texte.
- EventStudio – Outil de génération de MSC.
- LTSA – Permet de dessiner et de vérifier des MSC.
- PlantUML – Outil de génération de diagrammes de séquence UML à partir d'une description textuelle.
- Sequence Chart Studio – Extension à Microsoft Visio pour dessiner et vérifier la conformité à la recommandation Z.120.
- Trace2UML – Outil pour dessiner et enregistrer des MSC.
- MSC Latex package – un paquetage LaTeX pour créer des MSC.
- Online PCAP to MSC chart Generator – Génère des MSC à partir de fichier PCAP.
Remove ads
Voir aussi
- PSC Property Sequence Chart, un formalisme pour décrire des propriétés dans un MSC ou un diagramme de séquence[9].
- SDL Langage de Description et de Spécification, un langage de l'UIT associé au MSC.
- Diagrammes d'interaction UML.
Références
Liens externes
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads