J. Paul Rodker Morrison #
Furo FBP was inspired by the work of Paul Morrison. You will find a lot of interesting material on his page.
Some words from the discoverer of Flow Based Programming #
– Just as in the preparation and consumption of food there are the two roles of cook and diner, in FBP
application development there are two distinct roles: the component builder and the component user or
application designer. The component builder decides the specification of a component, which must also include
constraints on the format of incoming data IPs (including option IPs) and the format of output IPs. The
specification should not describe the internal logic of the component, although attributes sometimes “leak” from
internal to external (restrictions on use are usually of this type). The application designer builds
applications using already existing components, or, where satisfactory ones do not exist, s/he will specify a
new component, and then see about getting it built.
Component designers and users may of course be the same people, but there are two very different types of skill
involved. This is somewhat like the designer of a recent popular game, who admitted he was not particularly fast
at solving it - his skill was in designing games, not in playing them. The separation between makers and users
is so widespread in real life that we don’t pay any attention to it unless it breaks down. In industry, as Wayne
Stevens points out, we take for granted the idea that airplane builders do not build their own chairs - they
subcontract them to chair manufacturers, who in turn subcontract the cloth to textile manufacturers and so on.
In contrast, the world of conventional programming is as if every builder designed his own nails, lumber and
dry-wall from scratch. Talk about “reinventing the wheel” - in conventional application development we reinvent
the rubber, the nuts and bolts, and even the shape of the wheel! [van Norstand Rheinhold, Flow based Programming
(1994). Page 53]