|Think about Loose Coupling|
Agilent Technologies sells a program called VEE that implements flow-based programming. Many non-programmers like it. Experienced programmers tend to prefer to write code. It is easy to draw a bowl of spaghetti!
The underlying implementation of VEE looks like LISP. If the underlying implementation was XML, it would be more stylish.
Circuit designers typically use flow-based design in the form of schematics. When circuit complexity gets high, schematics become problematic. The electronics industry solved this problem by converting almost all complex digital designs to Verilog or VHDL, which is code instead of flow.
Dominus tought a course in regular expressions that used flow-based diagrams to show flow in a regex. I thought it was helpful and intuitive. It would be nice to make such a tool for designing and documenting perl regexes, perhaps taking advantage of automatic graph layout with GraphViz.
Update By "underlying implementation," I mean that the program that does the work behind the scenes of the UI appears to be written in LISP. I surmised this because if you look at a VEE program file, it looks like LISP code.
Flow based diagrams help with visualization, but they do not work with large problems. Eventually the diagrams become too complex to see on the screen or print out. Hierarchical diagrams help with this, but do not solve the problem as well as a well-designed textual description. This is not an intuitive result. It was discovered when the diagrams became very large, such as happened when integrated circuit designs reached about 1_000_000 transistors.
It should work perfectly the first time! - toma