man msc (Commandes) - message sequence chart generator

NAME

msc - message sequence chart generator

SYNOPSIS

msc [options] [files...]

DESCRIPTION

msc generates message sequence charts for display is a text based terminal.

In other words, it is a tool that can parse textual descriptions to create diagrams. These diagrams are created as text, which can be printed anywhere, and even piped through enscript to create some nice PostScript output.

The description files are very simple, and you can create them using your favorite text editor. The reason for using text as input for msc and for diagram output is simple: you can use diff to track differences between two designs, and even use patch to merge them (you know how this is important if you have ever worked in a real-life project, with code re-use).

OPTIONS

-c integer --commentwidth=integer
Sets the width of comment column in chart.
-h --help
Show summary of options.
-m integer --messagewidth=integer
Sets the width of message column in chart.
-p --pagebreak
Add a pagebreak after chart.
-s --swapstyles
Instead of using -s to draw messages and =s to draw function calls, use -s for functions and = for messages.
-t integer --taskwidth=integer
Sets the width of task column in chart.
-v --version
Show version of program.

DESCRIPTION FILES

Description files contain the apropriate information needed to create a message sequence chart. Lines starting with a # will be ignored and will not be echoed to the terminal. The description file must contain only one Title and only one Tasks keywords. Lines beginning with * will be treated as comments in the diagram, and will be printed breaking the vertical chart lines (see Example).

The general structure of a description file is:

Title:<put your title here>
Tasks:<comma separated list of tasks(no spaces!)>
<message_name>:<from task>:<to task>:<Comment>
.
.
.

EXAMPLE

Here is an example of a description file:

# This does not get printed
Title:MSC Example Diagram
Tasks:Home,Work,Play
Message1:Home:Play:This is a comment
Message2:Play:Play:Sent to itself
:::Only a comment
func():Play:Work:function call
*This can be used as a separator...
Message4:Work:Home:

And doing msc example.msc generates:

MSC Example Diagram - example.msc

Home Work Play | | | Message1 |-------+------>| This is a comment Message2 | | |< Sent to itself | | | Only a comment func() | |<======| function call This can be used as a separator... Message4 |<------| | | | |

SEE ALSO

AUTHORS

Tarball <rubens_ramos@yahoo.com>, W. Borgert <debacle@debian.org>