====== Visualize ACT Design ======
It can be helpful to visualize the connectivity between instances in an ACT design. The tool ''act2dot'' can be used to visualize the connectivity at the CHP-level of abstraction (default), or the PRS level of abstraction. The usage is similar to [[dflow2dot|dflow2dot]], namely:
$ act2dot -p top_level file.act
will create a collection of [[https://graphviz.org|graphviz]] files named ''procname.dot'', where ''procname'' is the mangled expanded process name. Each file will contain the connectivity at that level of the design.
The ''-g'' option can be used to switch to the PRS (//gate//) level of abstraction when showing how processes are connected.
Ports are shown in yellow and as boxes, whereas instances are shown as ovals with the instance name and type name included. Local (within the instance) port names are shown near the head/tail of arrows in blue.
===== User-specified styles =====
Graphviz styles can be added to instances via a table of mappings from regular expressions to graphviz style strings.
begin act
string_table graph_styles "buffer" "style=filled;color=orange" \
"src" "style=filled;color=blue"
end
This will add the style string ''style=filled;color=orange'' to any process type that matches the regular expression ''buffer'', and the blue filled style to any process that matches ''src''. This uses the standard C regex library, so the regular expression syntax corresponds to the syntax supported by the functions in ''regex.h''.