Provided by: mscgen_0.20-14_amd64 bug

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) 2010 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/