Flow-Based Programming

What is Flow-Based Programming?

Flow-Based Programming consists of using ‘black boxes’, which we shall call Nodes, to modify or perform some process on the data. The data stream begins at one Node, and flows in one direction to other Nodes along paths called Links.

Nodes

In Clario, nodes are arranged to form a Workflow. Sufficient links must be attached to allow the data stream to flow between nodes. Nodes, represented as square icons, are the building blocks of workflows. Nodes can perform various processes. For example, nodes can modify the data stream (Transform), perform an analysis (Univariate, Bivariate), suppress part of a data stream (Filter), bring a data stream into the workflow (Read File), export a data stream to a file (Write File), etc.

_images/FBPreadnode.png

Read File Node

_images/FBPfilternode.png

Filter Node

_images/FBPtransformnode.png

Transform Node

_images/FBPwritenode.png

Write File Node

Data Streams

Data streams in Clario are merely rows of data from whatever file you’ve added to the workflow via a Read File node. Packets of data (a number of rows) flow along the links into a node, and once processed, they flow out of the node via the attached link. Read File nodes have only an output connector, and several nodes have only an input connector (Write File, Bivariate, Create Indicators, etc.). This last type of node is referred to as Terminal Node.

There is an endless variety of tasks that you can perform with data streams. For instance, it is possible to begin with multiple different data streams via multiple Read File nodes, combine them in a single data stream to perform similar modifications on all of them, re-separate the streams, and finally output the separate streams in addition to the combined stream. (See Figure)

_images/FBPmultiplestreams.png

Multiple Streams example

Table Of Contents

Previous topic

Getting Your Data Securely Into Clario

Next topic

User Interface Overview