background preloader

Flow-Based Programming

Facebook Twitter

Flow Based Programming. DrawFBP Diagramming Tool. Over the last several years, an FBP diagram drawing tool, written in Java, has been evolving.

DrawFBP Diagramming Tool

It can be obtained by clicking here: DrawFBP Installer, and this is also available on SourceForge - look for the 2.8 version. This version is very powerful, has fairly decent help facilities, and can generate runnable Java, C# or NoFlo network definitions, if it is given enough information. You can now draw an application, click on "Generate Network", fill in a few missing bits of information (if any), and voilà - a running program! What's not to like?! DrawFBP can also be downloaded and executed immediately by clicking on JWS version of DrawFBP (*), or downloaded as a jar file . To run the JWS version on a 64-bit machine you have to install the 32-bit JDK in addition to the 64-bit JDK - apparently JWS always runs in 32-bit mode, and Java is able to figure out which version to use. (*) You may have to enable Java via the Java Control Panel.

Thanks to emouseatlas.org for this information! Pypes. Pervasive Big Data & Analytics. Kilim. Kilim is a message-passing framework for Java that provides ultra-lightweight threads and facilities for fast, safe, zero-copy messaging between these threads. It consists of a bytecode postprocessor (a "weaver"), a run time library with buffered mailboxes (multi-producer, single consumer queues) and a user-level scheduler and a type system that puts certain constraints on pointer aliasing within messages to ensure interference-freedom between threads. Hardware facilities are getting distributed, from the micro to the macro levels -- increasing numbers of cores, CPUs in a box, boxes in a data center to a multitude of data centers.

The current crop of software architectures, languages and idioms are not suited to this trend. Here are a few reasons: A multi-core/CPU box is internally a distributed system, but operating systems and hardware manufacturers go to great lengths to provide an illusion of local shared memory. Wiki: FlowBasedProgramming. Hot off the press!

Wiki: FlowBasedProgramming

A second edition of my book is now available from CreateSpace's eStore - and at Amazon.com - Take a look and see how FBP has changed in 15 years! The new edition contains information about the Java and C# implementations, as well as the diagramming tool (DrawFBP), several sections contributed by Mike Beckerle, CTO of Oco Inc., plus a whole new chapter on projects that have appeared in the last 15 years and either build on FBP, or have strong similarities to it. For obvious reasons, the new sections are not available on this web site - but just think, you could have a shiny new copy in your hands, printed with loving care by CreateSpace? - and IMHO it looks just as good as the original edition (if not better)! This wiki has been converted to a restricted access wiki - it is still open for anyone to read, but to contribute you will have to get the password from me. The web site for FBP is . I am maintaining a list of recent contacts at RecentContacts. Google Knol on Flow-Based Programming.

Flow based programming solves problems that, while they may currently be on the horizon, will soon present new challenges to software developers.

Google Knol on Flow-Based Programming

This article is really by Justin Bozonier – thanks, Justin! Introduction Flow based programming is a development methodology invented by J. Paul Morrison in the 70’s[5] wherein the resulting software is easily able to take advantage of many core processors and asynchronous processing. The framework consists of writing software as a set of “black boxes” that pass data between one another as messages. The Problems with Standard Practices and the Solution Issues with Statement Execution Order Synchronous execution can be very simple to wrap your head around. Flow-Based Programming. Patterns in Flow-Based Programming. (Apr., 2005) J.

Patterns in Flow-Based Programming

Paul Morrison In recent years, the concept of "pattern" seems to be have caught the imagination of many in the information technology (IT) industry. This concept was developed extensively by C. Alexander, first in his seminal book "Notes on the Synthesis of Form", and then later in "The Timeless Way of Building" and "A Pattern Language". Asynchronous Component-Based Programming. It seems hardly worth pointing out that the universe we live in is a highly asynchronous place: it is a place where an infinite number of things are happening all at once.

Asynchronous Component-Based Programming

In fact, it might be said that humans, and indeed all living creatures, are designed to operate in such an environment. In spite of this, until recently, computer programs were always based on the model of a sequential, "one step at a time", computer with a single instruction counter. Not surprisingly, therefore, mapping the real world onto such a model has always been difficult, and is becoming more so as the requirements on our systems become ever more stringent Back in the '60s, Dr. Lance Miller of IBM became intrigued by this apparent mismatch, and went looking for strictly procedural behaviors in other areas of human experience. Epub (Lulu): J. Paul Morrison's Book. Book: Flow-Based Programming - 2nd Edition. Flow Based Programming - Google Groupes.

NoFlo — Flow-Based Programming for Node.js. Node.js.

*bodycard xxxx