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.
# In the graph we first need to define the nodes and the connections between them Read(filesystem/ReadFile) OUT -> IN Display(core/Output) # Start off the graph by sending a filename to the file reader 'myfile.txt' -> IN Read()
This little program reads the file myfile.txt and prints it to standard output.
Since flow-based programs are graphs, they scream for a visual representation. However, until now NoFlo programs had to be written either using the FBP language or JSON. To change this, NoFlo now created the NoFlo Development Environment Kickstarter. The goal of this project is to develop a web-based designer for NoFlo programs.
As of today the Kickstarter project has raised $78k out of its $100k goal.
NoFlo and AppStrom
Olav Maassen, Liz Keogh & Chris Matts Mar 08, 2014