avp
avp

Reputation: 4925

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:

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...

Upvotes: 4

Views: 2290

Answers (5)

epatel
epatel

Reputation: 46051

Warning: Shameless plug

Seen Memention Designer?

It's built around a configurable engine and can output in almost any language.

But, I'm sorry. It's not really free.

alt text
(source: memention.com)

Above example exports following c-code, but could with some re-configuration generate some else language.

#include <stdio.h>

/* there are 8 blocks */
int running;
/* there are 1 out blocks */
int state_curr_1;
int state_next_1;

int main(int argc, char *argv[]) {
  running = 1;
  state_curr_1 = 0;
  while (running) {
    state_next_1 = (state_curr_1 + 19);
    running = (state_curr_1 != (19 * 12));
    state_curr_1 = state_next_1;
    printf("out = %d\n", state_curr_1);
  }
  return 0;
}

Upvotes: 2

vplmaster
vplmaster

Reputation: 131

What abou using the .net and WPF based library TUM.CMS.VPLControl?

enter image description here

Upvotes: 1

leppie
leppie

Reputation: 117240

What about using something like Graphviz?

Upvotes: 2

plan9assembler
plan9assembler

Reputation: 2984

http://www.graphviz.org/

HTH

Upvotes: 1

Kirill Osenkov
Kirill Osenkov

Reputation: 8976

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).

Upvotes: 3

Related Questions