genanim [-C] [-E] [-G orientation] [-H] [-N] [-O] [-R] [-S] [-U] start-
     process TIL-code
     genanim [-h]


     Genanim generates animations for  simanim(1L).   It  builds  a  process
     graph  for the start-process and generates a list of atoms and communi-
     cations that can occur.  From the graph, input for dot(1L) is generated
     that  calculates  positions  for the nodes and edges in the graph.  The
     output of dot(1L) is transformed into an animation by dot2anim(1L), and
     from  the  list of atoms and communications the action and choose func-
     tions for the animation are generated.


     -h     Prints a help message.

     -C     Combine processes that run in parallel but  do  not  communicate
            with each other.

     -E     Extend  atoms and communications by replacing terms that contain
            a variable with a variable.  Except  terms  that  start  with  a
            function  for  which  no equation can be found with a left-hand-
            side that starts with this function.  In this case, the same  is
            done for the subterms.

     -G orientation
            Defines the orientation of the graph.  orientation may be either
            TB (for top to bottom, the default) or LR (for left to right).

     -H     Use heuristics. For deciding the direction of  a  communication,
            the  names  of  the communications-partners are checked on being
            equal to ’snd’ and ’rec’, or ’send’ and ’receive’,  or  starting
            with ’snd-’ and ’rec-’.

     -N     No  input-  and  output-process. Normally for atoms that are not
            hidden, a input- and output-process is generated with  lines  to
            the  appropriate processes. Now these atoms are considered local
            to their process.

     -O     No ordering of processes. Normally processes are  ordered  based
            on having local actions (high ordering) or sum-port actions (low

     -R     Remove duplicate processes,  atoms,  and  communications.   When
            processes  appear  on  both sides of an alternation, they appear
            twice in the process graph. This  option  filters  one  of  them
            unless  it  is  hidden  or  encapsulated.  Duplicate atoms which
            belong to the same process are  removed.   Duplicate  communica-
            tions between the same two processes are also removed.

     -S     Sub-process  mapping.  In  the  following cases a sub-process is
            nested  sum  operators  with an atom for receiving value(s) from
            another process) with a single process as sub-process, then this
            sub-process  is mapped onto the process containing the sum-port.

     -U     Show unused processes in the animation. Processes that  have  no
            atoms  and  no  communications associated with them are normally
            not shown in an animation.


     simanim(1L), dot(1L), dot2anim(1L)

     dot(1L) is part of the package GraphViz, which can be  found on WWW


     Bob Diertens, University of Amsterdam (

4th Berkeley Distribution June 21, 2005 GENANIM(1L)