Man Linux: Main Page and Category List

NAME

       mscgen - Message Sequence Chart Renderer

SYNOPSIS

       mscgen -T type [ -o file ] [ -i ] infile

       mscgen -l

DESCRIPTION

       Mscgen   is   a  small  program  that  parses  Message  Sequence  Chart
       descriptions and produces PNG, EPS,  SVG  or  server  side  image  maps
       (ismaps)  as  the  output.  Message Sequence Charts (MSCs) are a way of
       representing entities and interactions over some time  period  and  are
       often  used  in  combination with SDL.  MSCs are popular in Telecoms to
       specify how protocols operate although MSCs need not be complicated  to
       create  or  use.  Mscgen aims to provide a simple text language that is
       clear to create, edit and understand, which  can  also  be  transformed
       into images.

OPTIONS

       -T type
              Specifies the output file type, which maybe one of ’png’, ’eps’,
              ’svg’ or ’ismap’

       -i infile
              The file from which to read input.  If omitted or  specified  as
              ’-’,  input  will  be  read  from  stdin.  The ’-i’ option maybe
              omitted if <infile> is specified as the last option.

       -o file
              Write output to the named file.  This option must  be  specified
              if  input  is  taken  from  stdin, otherwise the output filename
              defaults to <infile>.<type>.

       -F font
              Use specified font for  rendering  PNG  output.   This  is  only
              supported  if  mscgen was built with USE_FREETYPE and is ignored
              otherwise.

       -p     Display the parsed msc as text to stdout.  This is  useful  only
              for checking the parser.

       -l     Display program licence and exit.

EXAMPLE

       The  language interpreted by mscgen is similar to that of Graphviz dot,
       using simple text instructions to add entities and then  message  arcs.
       The  following  example  shows  the input for a simple message sequence
       chart.

       # MSC for some fictional process

       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 = "ac1()\nac2()"];
         b<-c [ label = "cb(TRUE)"];
         b->b [ label = "stalled(...)"];
         a<-b [ label = "ab() = FALSE"];

       }

       More    information    on    the    input    can    be     found     at
       http://www.mcternan.co.uk/mscgen/.

COPYRIGHT

       Mscgen, Copyright (C) 2007 Michael C McTernan,
                                  Michael.McTernan.2001@cs.bris.ac.uk

       This program is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published  by  the
       Free  Software Foundation; either version 2 of the License, or (at your
       option) any later version.

       PNG rendering by libgd, www.libgd.org.

SEE ALSO

       http://www.mcternan.co.uk/mscgen/