AccueilđŸ‡«đŸ‡·Chercher

Message Sequence Chart

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.

Ce diagramme montre trois entités. Au démarrage le téléphone est déconnecté (disconnected). Un utilisateur essaie d'établir une connexion. Une demande de connexion est envoyé à l'autocommutateur (switch) et un temporisateur est démarré. Une alternative gÚre deux réponses possibles: 1 - Le temporisateur claque parce que l'autocommutateur n'a pas répondu et le téléphone retourne dans l'état déconnecté. 2 - L'autocommutateur accepte la connexion et la communication est établie.

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.

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 .

Symboles dans le MSC

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.

Extension

  • SDL-RT a introduit:
    • un symbole pour reprĂ©senter les instances de sĂ©maphore.
      Extension SDL-RT pour les sémaphores
    • un symbole pour reprĂ©senter la sauvegarde des messages.

Comparaison avec UML

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].

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].

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.

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

  1. « HMSC », sdl-forum.org (consulté le )
  2. Øystein Haugen, « MSC 2000 », Ericsson (consulté le )
  3. « What is new in MSC 2000 relative to MSC 96. », sdl-forum.org (consulté le )
  4. Ekkart Rudolph, Jens Grabowski, Peter Graubmann, « Towards a Harmonization of UML-Sequence Diagrams and MSC », University of Göttingen, (consulté le )
  5. Øystein Haugen, « UML 2.0 vs. SDL/MSC – Ericsson Position Statement », Ericsson, (consultĂ© le )
  6. David Harel, « Message Sequence Charts », (consulté le )
  7. David Harel, « LSCs: Breathing Life into Message Sequence Charts », Formal Methods in System Design, (consulté le )
  8. David Harel, « Multiple instances and symbolic variables in executable sequence charts », Association for Computing Machinery, (consulté le )
  9. Emmanuel Gaudin, Eric Brunel, « Property Verification with MSC », Springer,

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.