# A LaTeX macro package for drawing Message Sequence Charts

Version 1.13 now supports the full MSC2000 language.
We developed a LaTeX macro package for drawing Message Sequence Charts. Version 1.13 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. 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{BoMa02,
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},
url = "ftp://ftp.win.tue.nl/pub/techreports/sjouke/tbmsc.ps.Z"
}


Authors: Victor Bos and Sjouke Mauw

Available information:

The MSC style archive is also available at the CTAN archives, see e.g. http://www.ctan.org/tex-archive/macros/latex/contrib/supported/msc/

Below you will find a simple example of the use of the MSC macro package. Figure 1 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.


\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

\end{msc}

\end{document}



Sjouke Mauw