FlowBasedProgramming | RecentChanges | Preferences

When a network (of components) is more or less shaped like a two-dimensional grid we can say it's a two-dimensional-network. These networks typically are DirectedGraphs and are configured in such a way that inputs may flow to outputs and again to inputs in (multiple) loops.

An example network is given by PaulMorrison in his paper Asynchronous Component-Based Programming.

To summarize this network:

The main question is: can we create the same functionality without using a cyclic network?

Question to Paul: can you explain why there are (loop)-connections between:

The paths from 'Process-Request' to 'Process Response' and 'Router' to 'Handle Back-end Data' are "short circuits" - something has gone wrong, so you don't want to go to the Back Ends, but just get back to the user quickly to report the error.

The paths going the other way, e.g. 'Handle Back-end Data' to 'Router', are for situations where you've decided to go around again, either because you need more information from the Back End(s) or maybe something went wrong in the Back End processing, and you're trying again.

The left-hand end of the diagram is interesting - my book describes both interactive environments (where the left-hand end can be thought of closed), and transaction-oriented ones (where it's open). Since the rest of the network can be the same in both cases, in FBP there is not much difference between them, especially if you lock the keyboard while the processing is going on! In fact, we found that FBP tends to erase the distinction between batch, interactive and transaction-based processing.

I'm not saying you cannot do this kind of thing in FP - I don't know. It's just that I find a graphical notation very easy to grasp and work with, especially when combined with stepwise refinement, and you can generate the required list of connections from the diagram almost automatically!

It seems that these connections are the ones that make the network cyclic? Or maybe this isn't the best example of - cannot be other then a - cyclic network? -- RobbertVanDalen

There is a discussion of loop network topologies in http://www.jpaulmorrison.com/fbp/loop.htm

FlowBasedProgramming | RecentChanges | Preferences
This page is read-only - contact owner for a password | View other revisions
Last edited May 5, 2004 9:16 pm by PaulMorrison (diff)