Skip to content
Alex Lobunets edited this page Nov 18, 2014 · 4 revisions

Welcome to the Cascades FBP wiki!

Cascades is language-agnostic dataflow programming framework that implements a number of the Flow-Based Programming (FBP) concepts. Although we consider Cascades to be a general-purpose programming framework we have created it having a, as J. P. Morrison described: a data factory mental image in mind, where the application is expressed as a series of transforms on data streams - which requires fundamental changes from the old von Neumann thinking in the way programmers build applications.

Features

  • Cascades is cross-platform (can be used on OSX/Linux/Windows, tested also on Raspberry PI and Beagleboard Black) and completely written in Go programming language.
  • Uses ZeroMQ for connections between the components.
  • The core components are also written in Go, but you are free to choose any programming language of your choice as long as there are bindings for it (currently it supports: C, C++, C#, CL, Delphi, Erlang, F#, Felix, Haskell, Java, Objective-C, PHP, Python, Lua, Ruby, Ada, Basic, Clojure, Go, Haxe, Node.js, ooc, Perl, and Scala)
  • Supports flows defined using NoFlo's JSON format or FBP DSL language.

Similar works

  • JavaFBP - Java Implementation of Flow-Based Programming (FBP)
  • NoFlo.js - An FBP-like dataflow framework for the Web and non-CPU-intensive applications written in JavaScript
  • NYT Labs Streamtools - A general purpose, graphical tool for dealing with streams of data.
  • IBM's Node-RED - Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways.
  • Apache Camel - a rule-based routing and mediation engine that provides a Java object-based implementation of the Enterprise Integration Patterns using an API (or declarative Java Domain Specific Language) to configure routing and mediation rules (Wikipedia)