Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The tool for visual programming

I need the tool for graphical representing of work flow in a program (like electronic circuits are described with graphical representation). The representation has to be like the following: functions are boxes and arrows between boxes are "messages". Like this:

alt text http://img372.imageshack.us/img372/8471/functionsqv0.png

This picture shows the following: (c (a) (b))
Where parameters of c() are named as d and e. On C it would be

void c( someType1 d, someType2 e );
someType1 a( void );
someType2 b( void );
....
c( a(), b() );

So I think that I need the tool for manipulation and visual representation of s-expressions like these:

(a (b c d) e)  

or

f(g(z(x,y))+5)  

It is not about linked lists, it is about logical connections between functions.
The tool has only to generate the textual representation from graphical one.
Well, I've found a lot of stuff on the Wiki page about the "Visual programming" and "Graphical programming" and so on. Mostly all described tools are cool, but somewhat complicated. And the list is pretty long, so it would take a lot of time to test all of them. So I need an opinion of real, alive people.

Requirements are:

  • Free
  • Simple
  • Can export to at least one real language like XML or C++ or LISP or any other.

And it would be really good if this tool were configurable.

I like the FlowDesigner tool: it seems to be almost the thing I need, but it cannot export to any language... Alas.

UPD: The wiki page I mentioned: Graphical Programming
UPD2: well, I decided to write my own tool...

like image 470
avp Avatar asked Jan 24 '23 23:01

avp


2 Answers

Check out Microsoft DSL Tools - http://msdn.microsoft.com/en-us/library/bb126259.aspx

It is a "designer generator" - allows you to define your own diagram format, specify shapes, arrows, colors, etc. and generates a designer for you that is able to edit such diagrams and export any textual artifacts about your diagram (e.g. XML or code).

like image 94
Kirill Osenkov Avatar answered Jan 26 '23 12:01

Kirill Osenkov


What about using something like Graphviz?

like image 20
leppie Avatar answered Jan 26 '23 12:01

leppie