Man Linux: Main Page and Category List

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

                                  2005-03-30