Skip to content

Graph Easy

ramirezfranciscof edited this page May 12, 2020 · 1 revision

This software might be useful for producing simple provenance graphs in ascii format (or some other formats as well). The code can be downloaded from this website and can be installed by untaring and following the instructions in the INSTALL file. The manual for the code is also available here, but it is a little difficult to follow. For simple cases uses, it sufices to write and input file such as this:

 [ DI ] - incall -> [ C0 ]
 [ C0 ] - create -> [ DO ]
 [ DI ] - inwork -> [ W1 ]
 [ W1 ] - return -> [ DO ]
 [ DI ] - inwork -> [ W2 ]
 [ W2 ] - return -> [ DO ]
 [ W1 ] - cawork -> [ W2 ]
 [ W2 ] - cacall -> [ C0 ]

And then process it by running:

graph-easy input.txt

which will in turn produce the following output (that can be easily redirectioned to a file if you prefer):


                   +--------------------------------------------------+
                   |                                                  |
                   |    inwork                                        |
  +----------------+----------------+                                 | return
  |                |                v                                 v
+----+  inwork   +----+  cawork   +----+  cacall   +----+  create   +---------+
| DI | --------> | W1 | --------> | W2 | --------> | C0 | --------> |   DO    |
+----+           +----+           +----+           +----+           +---------+
  |                                 |    incall      ^                ^
  +---------------------------------+----------------+                | return
                                    |                                 |
                                    |                                 |
                                    +---------------------------------+

Although this graph is not as ordered as one should want, it might be easier to generate it that way and then re-arrange it a bit:


        inwork     +----+     return
  +--------------> | W2 | ---------------+
  |                +----+                |
  |                  |                   |
  |                  | call_work         |
  |                  |                   |
  |                  v                   |
  |      inwork    +----+    return      |
  |  +-----------> | W1 | ------------+  |
  |  |             +----+             |  |
  |  |               |                |  |
  |  |               | call_calc      |  |
  |  |               |                |  |
  |  |               v                v  v
+------+  incall   +----+  create   +------+
|  DI  | --------> | C0 | --------> |  DO  |
+------+           +----+           +------+