msc

Langue: en

Version: 2005\-03\-30 (debian - 07/07/09)

Section: 1 (Commandes utilisateur)

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.

--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

patch(1), diff(1), enscript(1).

AUTHORS

Tarball, W. Martin Borgert.

Copyright © 2001 Rubens Ramos Fernandes Junior
Copyright © 2005 W. Martin Borgert