f2dot
f2dot is a software tool developed as part of the ForSyDe (Formal System
Design) project.
The name stands for "ForSyDe-2-DOT" and enables plotting ForSyDe-XML models into DOT graphs.
For more information, check the tool's wiki pages.
The source files are Python scripts which have the following
dependencies:
- a Python interpreter (python >= 2.7)
- the GraphViz toolset with the pygraphviz library
- (optional) XDot, or any DOT vizualizer for visualizing
.dot
files
The project can be distributed with toolsets like pyinstaller.
The program usage is displayed calling the runner script f2dot
with
the argument -h
with a python interpreter:
python f2dot -h
Version history
f2dot-0.2.0
- Major modification in the management of settings
- Simpler, more robust 'Settings' class, unaware of user-defined parameters.
- Adding support for a new format means writing an xml parser and providing
a
<mode>.conf
file in src/config
. The config file contains both
default values but also documentation and sanity check rules (as regex).
- parsers now access user-defined parameters as dictionary entries.
f2dot-0.1.3
- XPath lable extraction querries now support variables. Variable values
are pre-fetched and replaced in the main querries.
- Defined custom markup for variable querries, still based on XPath.
- added support for SDF3 graphs
- parsing decision (ForSyDe or SDF3) based on the input XML header.
f2dot-0.1.2
- added the option to customize which processes to be clustered by
the main parser (changes in the logic of the code)
- fixed vector/array/tuple signals bug
- added full support for XPath queries by including [py-dom-xpath library]
(https://code.google.com/p/py-dom-xpath/) -- MIT License
- coded the parser methods to extract queries which return both
node-sets and unicode values.
- changed the project structure to align to python distribution
conventions
- gave up the C++-like class inheritance topology, since it is not
relevant for this project. Thus new parsers can be built now as
separate packages (with different names), which include everything
from the parsemethods package.
- added doxygen comments and a doxfile
f2dot-0.1.1
- fixed path and config bugs
- added custom ID separator to overcome name clashes
- edges now use compass directions for head and tail ports
- input and output ports are clustered together
f2dot-0.1.0
- ForSyDe model plotter
- customizable through command-line arguments or config file
- recursive parsing of multiple ForSyDe-XML files generated by
ForSyDe-SystemC and building DOT graphs using different algorithms
(see -h)