MSCGEN(1)
π MSCGEN(1) β the user commands era π
okay bestie, sit down, hydrate, and let me tell you about mscgen β Message Sequence Chart Renderer β from the User Commands corner of the manual. this one's a little legend fr fr π¦
β¨ NAME β¨
mscgen β a Message Sequence Chart Renderer π
(she parses, she renders, she serves looks)
πΈ SYNOPSIS πΈ
mscgen -T type [ -o file ] [ -i ] infile
mscgen -l
two whole moods, and both of them are valid. π
π¦ DESCRIPTION π¦
So. 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. iconic output menu, no notes. β¨
Message Sequence Charts (MSCs) are a way of representing entities and interactions over some time period, and they're often used in combination with SDL. MSCs are popular in Telecoms to specify how protocols operate β but bestie, listen, MSCs do not need to 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. text in, picture out. it's giving alchemy but make it cute. π
π OPTIONS π
the full roster, no gatekeeping, every single one:
-T typeβ Specifies the output file type, which maybe one of'png','eps','svg'or'ismap'. pick your format, pick your destiny. π-i infileβ The file from which to read input. If omitted or specified as'-', input will be read fromstdin. (yes, the classic dash means "feed me from the void".) 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 fromstdin, otherwise the output filename defaults to<infile>.<type>. so like, name your output or the universe names it for you. π«-F fontβ Use specified font for renderingPNGoutput. This is only supported if mscgen was built withUSE_FREETYPEand is ignored otherwise. π-pβ Display the parsed msc as text tostdout. This is useful only for checking the parser. debug girlie behaviour, we love her. π-lβ Display program licence and exit. the legal beagle moment, short and sweet. π
π EXAMPLE π
okay so 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/go look, bestie, it's right there. π
and that's the whole page!! this was mscgen-0.20, dated 2011-03-05, straight from the MSCGEN(1) manual. periodt. π
β¨π¦π
π¦ where this page comes from
- debian bookworm: mscgen 0.20-14
- debian trixie: mscgen 0.20-16
- fedora 43: mscgen 0.20-42.fc43 Β· GPL-2.0-or-later
- fedora 44: mscgen 0.20-43.fc44 Β· GPL-2.0-or-later
- nixpkgs unstable: mscgen 0.20
- ubuntu jammy: mscgen 0.20-14
- ubuntu noble: mscgen 0.20-15
- ubuntu resolute: mscgen 0.20-16
- ubuntu stonking: mscgen 0.20-16
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms