Flow-based Programming

Panta rhei (Panta rhei) - Everything flows.

In computer programming, flow-based programming (FBP) is a programming paradigm that defines applications as networks of "black box" processes, which exchange data across predefined connections by message passing, where the connections are specified externally to the processes. These black box processes can be reconnected endlessly to form different applications without having to be changed internally. FBP is thus naturally component-oriented.

FBP is a particular form of dataflow programming based on bounded buffers, information packets with defined lifetimes, named ports, and separate definition of connections.

Animation of simple diagram

  1. Introduction
  2. History
  3. Concepts
  4. Software:

  5. Examples
  6. Comparison with other paradigms and methodologies
  7. Relationship with NoFlo
  8. Bibliography
  9. Chapters from the first edition - online
  10. Flow-Based Programming Wiki
  11. External links

Google group on Flow-Based Programming

Twitter hashtag: #FlowBasedProgramming

Video Interview with J. Paul Rodker Morrison, Summer 2013