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 from stdin. (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 from stdin, 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 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. 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/. πŸ”₯


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 🌟


and that's the whole page!! this was mscgen-0.20, dated 2011-03-05, straight from the MSCGEN(1) manual. periodt. πŸ’…βœ¨πŸ¦‹πŸ’–