Poster of Linux kernelThe best gift for a Linux geek
MSC

MSC

Section: (1) Updated: 2005-03-30
Local index Up
 

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

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


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
DESCRIPTION FILES
EXAMPLE
SEE ALSO
AUTHORS
COPYRIGHT

This document was created by man2html, using the manual pages.
Time: 22:04:41 GMT, April 16, 2011