Masonry – A Mason-Graph Tool

By the end of last month, my latest university job came to an end. I enjoyed it but I wasn’t able to continue it because I’m about to start my diploma thesis. Anyway, the goal was to create a drag’n’drop graph editor for signal-flow graphs (Mason graphs to be precise). The editor should be able to compute and present the resulting gain formula depending on the input/output nodes (see the Wikipedia article for details). Luckily, the core functionality was already present in a Matlab script written by Rob Walton, so it wasn’t necessary to start from scratch. So to say, the result is a frontend to either Matlab or GNU Octave (the free competitor) which allows you to interact with a Mason graph in an interactive way. As you might have guessed it already, it’s written in C++ with the lovely Qt framework and makes use of the wonderful Oxygen icon set. This is how it looks currently:

The following two screenshots show the configuration dialog which allows to set additional Matlab scripts to be run after the main computation (for further graph processing or whatever). It also allows you to change and edit the backend (currently either Matlab or Octave):

Furthermore, if you own a Matlab-License and have the Matlab Symbolic Toolbox installed, the resulting equations are also simplified and should thus look a lot nicer than those in the screenies.

Finally another screenshot from the Win32 build running under Windows 7 (with the german translation):

If you want to check it out, you can either download the binary version for Windows or grab the source code from Github. The latter also includes a README file with build instructions and further info.

4 thoughts on “Masonry – A Mason-Graph Tool

  1. Hi, I want download the file, but not is possible. The link is broken. Is possible give me another link to I make a download?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s