Visualization Methods and Algorithms for Graph Representation of Functional Programs

This paper is devoted to the visualization of intermediate representations (the so-called IR graphs) of programs in the Cloud Sisal functional language for the cloud parallel programming system (CPPS). The IR graph represents the data flow in the Cloud Sisal program; it is a hierarchical graph whose vertices correspond to simple and composite expressions and are connected by edges through the vertex ports corresponding to the operands of the expressions (arguments and results). An efficient algorithm for two-dimensional IR graph visualization is proposed. We also describe an efficient implementation of a drawing algorithm for arbitrary attributed hierarchical port graphs in the Visual Graph system. Some methods for IR graph visualization and dynamic modification as applied to Cloud Sisal program debugging are considered.