LaTeX MSC package

News

Package information

We developed a LaTeX macro package for drawing Message Sequence Charts. Version 1.17 of this package is now publicly available. We have written a user manual, a reference manual and a maintenance document. The manual describes the design and use of the package, including installation instructions and examples. The maintenance document contains three lists: a revision list, a bug list and a wish list. See the maintenance document for the differences between the various version.

This package should be useful to all people that prepare their texts with LaTeX and want to easily draw MSCs in their texts. This is not an MSC editor. It simply takes a textual description of an MSC and draws the corresponding MSC.

The current version of the MSC macro package supports the full MSC2000 language.

In order to use the MSC macro package you need LaTeX2e. The following additional packages are required: pstricks, calc, and ifthen. These packages are in general part of the standard LaTeX2e distribution. These additional packages can be obtained from the ctan database, e.g. via the following URL: http://www.tex.ac.uk/

Feel free to use the package. If you appreciate it, send us a message. It may influence the amount of time that we spend on upgrading the package. We also welcome any input for the bug list and the wish list.

Citing us

If you have used our package at your benefit for writing a scientific paper, please consider to give us credits by referencing the following publication:

@article{MB02,
  author =       {Sjouke Mauw and Victor Bos},
  title =        {Drawing {M}essage {S}equence {C}harts with {\LaTeX}},
  journal =      {TUGBoat},
  year =         2001,
  volume =       22,
  number =       {1-2},
  pages =        {87--92},
  month =        {March/June}
}

Authors: Victor Bos, Ton van Deursen, and Sjouke Mauw

Download

The complete msc macro package (gzipped tar file): release1.17.tar.gz. This archive contains the following files:

Example

Below you will find a simple example of the use of the MSC macro package. The figure contains the MSC generated by the enclosed LaTeX code. You will probably be able to understand this without further explanation. For an explanation consult the manual.

generated MSC picture
\documentclass{article}
\usepackage{msc}
\begin{document}

\begin{msc}{Example}

\declinst{usr}{User}{}
\declinst{m1}{Machine 1}{control}
\declinst{m2}{Machine 2}{drill}
\declinst{m3}{Machine 3}{test}

\mess{startm1}{usr}{m1}
\nextlevel
\mess{startm2}{m1}{m2}
\nextlevel
\mess{continue}{m2}{m3}
\mess{log}{m1}{envleft}
\nextlevel
\mess{output}{m3}{usr}[2]
\nextlevel
\mess{free}{m1}{usr}
\nextlevel

nd{msc}

nd{document}

Development Version

For those interested here is the development version of the MSC package msc.sty. The package is more or less complete. There is also a new manual which is still in large parts incomplete:manual.pdf.