Skip to content
Arto Bendiken edited this page Jul 28, 2024 · 18 revisions

Common terms in the flow-based world and their explanation. Below each paragraph represents a term. First it is given in bold as proposed by Morrison's book (if available), other versions are given in braces. Terms may link to articles with detailed description of principles behind them.

  • Array Port - a Port with indexed slots, reads and writes to Array Ports require an index.
  • Bracket Information Packet - a special Information Packet that indicates the presence of a Substream. It can contain information itself and there are two kinds: opening brackets (denoting the start of a Substream) and closing brackets (denoting the end of a Substream). They can be nested as needed.
  • Capacity - max. number of information packets that can be buffered within a connection at a time.
  • Component - a black box processing data, the most common building block in FBP. Syn.: class (OOP), processor (DSP).
  • Connection - a connection between components through which data flows. Syn.: pipe (POSIX), buffer (Protocol Buffers), message queue (AMQP), channel (CSP), line (DSP).
  • Edge - a static definition of a Connection within a Graph. Syn.: arc.
  • Epoch - elementary unit of system lifetime. Syn.: tact, tick (DSP).
  • Graph - structural representation of an application as a network of components and connections between them.
  • Information packet - a unit of data flow exchanged across components. Syn.: message (OOP), record (RDMBS), tuple (Linda).
  • Initial information packet - a Packet utilized as process configuration that comes to existence when a read is issued, not triggering the configured process. Syn.: parameter (IDEF0).
  • Looper - A process that does multiple receives without deactivating - in other words a "long lived process".
  • Nest - a part of the flow graph with intensive internal communication which is attached to the same physical or virtual machine or OS thread/process for high efficiency and may have its own scheduler. Remote nests are connected via network into a distributed application graph. Syn.: island, section.
  • Net - a running instance of Graph.
  • Node - a generic term for a process or a subnet in a graph that is not running yet.
  • Non-looper - A short lived process that works like a subroutine, deactivating after completing its task.
  • Port - a connection point in a component through which it sends or receives data. Ports are one way, either OUT or IN.
  • Process - an instance of a component being executed in runtime. Multiple processes can share the same component code. Syn.: object (OOP), filter (DSP).
  • Stream - a sequence of information packets transmitted from one component to another. Syn.: signal (DSP).
  • Subnet - a graph that exposes inports and outports and is reused as a component itself. Syn.: subgraph, composite component.
  • Substream - a stream nested within another (parent) stream and containing control (bracket) IPs.
  • Thread - operating system parallel execution primitive with shared memory.

Term matching table across different dataflow languages, dataflow and pipeline frameworks

Framework Building block Code block Run-time block instance Input/Output Connection Graph Message
Flow-based Programming Component Component Process Port Connection Graph Information Packet
NoFlo Node Component Process Port Connection Graph Information Packet
Node-RED Node Function Node Node Input, Output Wire Flow Message
Apache NiFi Processor Processor Processor Relationship Connection Process Group FlowFile
vvvv Node Operation Process Pin Link Patch Data
Max/MSP Object Object - Inlet, Outlet ? Patch Message
Quartz Composer Patch Patch - Parameter Connection Macro Message
LabVIEW Virtual Instrument Function - Connector Connection Diagram Signal
VHDL Entity Entity Component Port Port Map Dataflow Signal
Verilog Module Module - Port Connection Module Signal
Apache Spark Operation Operation - Input, Output - Workflow Data Stream, Data Frame
Apache Flink Operator Transformation - Input, Output Data Stream Dataflow Data Stream
Apache Beam Transform Transform - Input, Output Collection Pipeline Element
Apache Airflow Operator Operator Task Argument, Output Dependency DAG -
TensorFlow Operation Function - - - Graph Tensor
Protoflow Block Block Process Port Connection System Message
Clone this wiki locally