A nice feature is hierarchy in the flow diagram. Like subroutines, hierarchical flow makes solving hard problems possible.

The site gEDA hosts many open-source projects, including a schematic drawing program called gschem that could be adapted to allow users to draw a flow picture instead of writing code. Something simpler, such as a Perl/Tk interface, could also be nice.

There was a signal and image processing flow tool called Khorus that originally came from the University of New Mexico but went commercial. It had a drag-and-drop UI called Cantata to place data generators, filters, data sinks, etc on a canvas. When the system ran, it used temporary files for the pipes and each component was a stand-alone program. As the program ran it provided a transcript of the shell commands, so you could capture the commands it was using to create a shell script that worked without the GUI.

An interesting approach would be to use the same trick with your perl code. You could have an option to make your program emit perl code, transforming the flow-based code into procedural code. The emitted code could be eval'ed or saved into a program or module.

The languages Verilog and VHDL are used for specifying designs of computer hardware. In Verilog, you can specify structural or behavioral elements. Structural Verilog allows you to specify a netlist similar to yours, as shown in this Verilog example.

It should work perfectly the first time! - toma


In reply to Re: More fun with Flow-Based Programming by toma
in thread More fun with Flow-Based Programming by Masem

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.