1MSCGEN(1) User Commands MSCGEN(1)
2
3
4
6 mscgen - Message Sequence Chart Renderer
7
9 mscgen -T type [ -o file ] [ -i ] infile
10
11 mscgen -l
12
13
15 Mscgen is a small program that parses Message Sequence Chart descrip‐
16 tions and produces PNG, EPS, SVG or server side image maps (ismaps) as
17 the output. Message Sequence Charts (MSCs) are a way of representing
18 entities and interactions over some time period and are often used in
19 combination with SDL. MSCs are popular in Telecoms to specify how pro‐
20 tocols operate although MSCs need not be complicated to create or use.
21 Mscgen aims to provide a simple text language that is clear to create,
22 edit and understand, which can also be transformed into images.
23
24
26 -T type
27 Specifies the output file type, which maybe one of 'png', 'eps',
28 'svg' or 'ismap'
29
30 -i infile
31 The file from which to read input. If omitted or specified as
32 '-', input will be read from stdin. The '-i' option maybe omit‐
33 ted if <infile> is specified as the last option.
34
35 -o file
36 Write output to the named file. This option must be specified
37 if input is taken from stdin, otherwise the output filename
38 defaults to <infile>.<type>.
39
40 -F font
41 Use specified font for rendering PNG output. This is only sup‐
42 ported if mscgen was built with USE_FREETYPE and is ignored oth‐
43 erwise.
44
45 -p Display the parsed msc as text to stdout. This is useful only
46 for checking the parser.
47
48 -l Display program licence and exit.
49
50
52 The language interpreted by mscgen is similar to that of Graphviz dot,
53 using simple text instructions to add entities and then message arcs.
54 The following example shows the input for a simple message sequence
55 chart.
56
57
58 # MSC for some fictional process
59
60 msc {
61 a,b,c;
62
63 a->b [ label = "ab()" ] ;
64 b->c [ label = "bc(TRUE)"];
65 c=>c [ label = "process(1)" ];
66 c=>c [ label = "process(2)" ];
67 ...;
68 c=>c [ label = "process(n)" ];
69 c=>c [ label = "process(END)" ];
70 a<<=c [ label = "callback()"];
71 --- [ label = "If more to run", ID="*" ];
72 a->a [ label = "next()"];
73 a->c [ label = "ac1()\nac2()"];
74 b<-c [ label = "cb(TRUE)"];
75 b->b [ label = "stalled(...)"];
76 a<-b [ label = "ab() = FALSE"];
77
78 }
79
80 More information on the input can be found at http://www.mcter‐
81 nan.co.uk/mscgen/.
82
83
85 Mscgen, Copyright (C) 2010 Michael C McTernan,
86 Michael.McTernan.2001@cs.bris.ac.uk
87
88 This program is free software; you can redistribute it and/or modify it
89 under the terms of the GNU General Public License as published by the
90 Free Software Foundation; either version 2 of the License, or (at your
91 option) any later version.
92
93 PNG rendering by libgd, www.libgd.org.
94
95
97 http://www.mcternan.co.uk/mscgen/
98
99
100
101mscgen-0.20 2011-03-05 MSCGEN(1)