Skip to content

forsyde/f2dot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

About

A tool for plotting the XML intermediate representation of ForSyDe models

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages