Add message sequence chart diagrams with mscgen to Trac wiki page


This plugin renders mscgen message sequence chart diagrams on a Trac wiki page:

Generic mscgen example

Mscgen is a small program that parses Message Sequence Chart descriptions and produces PNG, SVG, EPS or server side image maps as the output. Message Sequence Charts (MSCs) are a way of representing entities and interactions over some time period. Mscgen is a simplification of Graphviz. It is GPLv2 licensed.

An example of the syntax used:

msc {
  hscale = "1";


  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"];


See also:

Bugs/Feature Requests

Existing bugs and feature requests for MscgenPlugin are here.

If you have any issues, create a new ticket.

Known bugs

  1. Path to the msgcen library is hardcoded to /usr/local/bin/mscgen.
  2. Path to the cache directory is hardcoded to <trac_env>/mscgen.
  3. Cache cleanup is missing.


Download the zipped source from here.


You can check out MscgenPlugin from here using Subversion, or browse the source with Trac.


General instructions on installing Trac plugins can be found on the TracPlugins page.

Recent Changes

16521 by rjollos on 2017-04-16 01:53:55
Fix indentation
6444 by mclap on 2009-08-28 00:05:30
import of version 0.1
6443 by mclap on 2009-08-27 23:57:39
New hack MscgenPlugin, created by mclap


Author: mclap
Maintainer: Pavel Plesov

Last modified 2 years ago Last modified on Feb 16, 2022, 5:40:56 PM

Attachments (1)

Download all attachments as: .zip