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/