|
||||||
Contents
Algorithm graph formatToolkit is aimed at dual graph representation. It is represented as a graph class and as a text file. Let us list text file format. The file contains keywords — tags, graph fields names, and their values. It can also contain comments in C++ format. < and > will embrace notions, and { and } will contain words that can be repeated several times. ::= means definition of a notion. Text representation consists of two parts — vertex block and edge block. <GRAPH_BEGIN>
header "<header file name>"
<GRAPH_END> root "<root vertex file name>" tail "<tail vertex file name>" num_nodes <number of vertices> <nodes_block> num_edges <number of edges> <edges_block> Specification of an individual vertex<node>::= <NODE_BEGIN>
number <vertex number>
<NODE_END> type <vertex type> weight <vertex weight> layer <layer number> num_input_edges <number of edges coming into the vertex> edges ( {<edge coming into the vertex>} ) num_output_edges <number of edges coming out of the vertex> edges ( {<edge coming out of the vertex>} ) head "<vertex header file name>" body "<vertex code file name>" tail "<termination code file name>" Edge specification<edge>::=
<EDGE_BEGIN> number <edge number>
<EDGE_END>weight <edge weight> type <edge type> num_var <number of variables passed via the edge> num_send_nodes <number of sending vertices> send_nodes ( {<number of the sending vertex>} ) num_recv_nodes <number of receiving vertices> recv_nodes ( {<number of the receiving vertex>} ) <send_block> <recieve_block> <send_block>::=
<SEND_BEGIN> {<chunk>}
<SEND_END><recieve_block>::= <RECIEVE_BEGIN> {<chunk>}
<RECIEVE_END>Let us introduce the notion of chunk. Chunk is a continuous fragment of data in an array to be passed through the edge. Chunks contain information about transferred and received variables. One chunk is a fragment connected to one variable. <chunk>::= <CHUNK_BEGIN> name "<variable name>"
<CHUNK_END>type <variable type> left_offset "<left address offset>" right_offset "<right address offset>" |
||||||
SourceForge resources |
||||||
Project admin: Alexey Salnikov |