Algorithm for Graphic Layout in Vifor


Graphical display of the program structure has been a research problem of increasing interest. Such graphs are usually complex and their readability is a constant problem [2]. The distinguishing feature of VIFOR layouts is the placement of all nodes into two columns depending on their class. We shall refer to such a layout as Two Column Graph (2CG). Nodes representing processes (subroutines, functions and main program) are displayed in the left column and nodes representing global data (commons) are displayed in the right column. The call relations among the processes are drawn as bent edges and appear to the left of the process column. The horizontal part of a calledge emanates from the calling process and the vertical part extends to the position of the farthest node being called, with arrows pointing to the called nodes. Reference relations, i.e. relations between commons and processes that use them, are drawn as straight lines between pairs of nodes in the respective columns. Each 2CG is displayed in a special window called Browser (Figure 1). The relative simplicity of the data model in VIFOR enables us to use the 2CG. The 2CG layouts strike a balance between efficiency and readability. They are efficient in terms of execution speed because they are essentially one-dimensional, with the length of columns being the main parameter. Nodes and relations are drawn in distinct rectangular regions of the drawing plane, without interference between them. The placement of nodes determines the routing of all relations in the layout.

Extracted Key Phrases

4 Figures and Tables

Cite this paper

@inproceedings{Rajlich2009AlgorithmFG, title={Algorithm for Graphic Layout in Vifor}, author={V{\'a}clav Rajlich and Nicolas Damaskinos}, year={2009} }