MscGen

MscGen
Mscgen
Developer(s) Michael McTernan
Stable release 0.19 / January 1, 2011; 9 months ago (2011-01-01)
Written in C
Operating system Cross-platform
Type Diagramming software
License GNU General Public License
Website mcternan.me.uk/mscgen

Mscgen (short for MSC generator) is a software tool for drawing message sequence charts from a simple to manage text-based source file. Rendered charts can be output in PNG, SVG and PostScript, with hyperlink information in ismap format. There is an extension for MediaWiki and integration with Doxygen that allows embedding of charts into source code comments with generated automatically inserted into the generated documentation page. Mscgen is free software licensed under the GNU General Public License (GPL).

Contents

Examples

The following example is from the author:

Sample Message Sequence Chart
msc {
  a,b,c;

  a->b  [label="ab()"] ;
  b->c  [label="bc(TRUE)"];
  c=>c  [label="process(1)"];
  c=>c  [label="process(2)"];
  ...;
  c=>c  [label="process(n)"];
  c=>c  [label="process(END)"];
  a<<=c [label="callback()"];
  ---   [label="If more to run", ID="*"];
  a->a  [label="next()"];
  a->c  [label="ac()"];
  b<-c  [label="cb(TRUE)"];
  b->b  [label="stalled(...)"];
  a<-b  [label="ab() = FALSE"];
}

Here are two examples of input and output for some standard SIP message flows:

Simple Call Flow

Simple SIP Call
msc {
  UAS, UAC;

  UAS->UAC [label="INVITE"];
  UAS<-UAC [label="100 Trying"];
  UAS<-UAC [label="180 Ringing"];
  ---      [label="the client plays ringing"];
  UAS<-UAC [label="200 Ok"];
  UAS->UAC [label="ACK"];
  ...;
  ---      [label="the client hangs up"];
  UAS<-UAC [label="BYE"];
  UAS<-UAC [label="200 Ok"];
}

Alice calls Bob with Intermediary Proxies

Alice Calls Bob
msc {
  Alice, P1, P2, Bob;

  Alice->P1 [label="INVITE"];
  Alice<-P1 [label="100 Trying"];
  P1->P2    [label="INVITE"];
  P1<-P2    [label="100 Trying"];
  P2->Bob   [label="INVITE"];
  P2<-Bob   [label="100 Trying"];
  P2<-Bob   [label="180 Ringing"];
  P1<-P2    [label="180 Ringing"];
  Alice<-P1 [label="180 Ringing"];
  ---       [label="Alice's client plays ringing"];
  ...;
  ---       [label="Bob answers"];
  P2<-Bob   [label="200 Ok"];
  P1<-P2    [label="200 Ok"];
  Alice<-P1 [label="200 Ok"];
  Alice->P1 [label="ACK"];
  P1->P2    [label="ACK"];
  P2->Bob   [label="ACK"];
  ---       [label="two way media"];
  ...;
  ---       [label="Bob hangs up"];
  P2<-Bob   [label="BYE"];
  P2->Bob   [label="200 Ok"];
  P1<-P2    [label="BYE"];
  P1->P2    [label="200 Ok"];
  Alice<-P1 [label="BYE"];
  Alice->P1 [label="200 Ok"];
}

See also

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Doxygen — Developer(s) Dimitri van Heesch Initial release 26 October 1997 (1997 10 26)[1] …   Wikipedia

  • Message Sequence Chart — Example of a simple UML message sequence chart. A Message Sequence Chart (or MSC) is an interaction diagram from the SDL family very similar to UML s sequence diagram, standardized by the International Telecommunication Union. The main area of… …   Wikipedia

  • Message Sequence Chart — Ein Message Sequence Chart (MSC, engl. Nachrichten Reihenfolge Diagramm) wird benutzt, um (z. B. zur Unterstützung der Modellierung mit SDL) beispielhafte Nachrichtenfolgen zwischen kommunizierenden Objekten einheitlich darzustellen. MSC ist ein… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”