noflo - Flow-based programming for JavaScript

  •        63

In computer science, 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. This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.

http://noflojs.org/
https://github.com/noflo/noflo

Dependencies:

coffeescript : ^2.2.1
debug : ^3.0.0
fbp : ^1.5.0
fbp-graph : ^0.3.1
fbp-manifest : ^0.2.0
get-function-params : ^2.0.3

Tags
Implementation
License
Platform

   




Related Projects

noflo-ui - NoFlo Development Environment

  •    HTML

The NoFlo Development Environment is an offline-capable, client-side web application that helps users to build and run flow-based programs built with FBP compatible systems such as NoFlo, MsgFlo, imgflo and MicroFlo. The NoFlo Development Environment is available under the MIT license. This project was made possible by 1205 Kickstarter backers. Check the project ChangeLog for new features and other changes.

goflow - Flow-based and dataflow programming library for Go programming language

  •    Go

This is quite a minimalistic implementation of Flow-based programming and several other concurrent models in Go programming language that aims at designing applications as graphs of components which react to data that flows through the graph. Current version of the library requires a latest stable Go release. If you don't have the Go compiler installed, read the official Go install guide.

RxFlow - RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern

  •    Swift

RxFlow is a navigation framework for iOS applications based on a Flow Coordinator pattern. This README is a short story of the whole conception process that led me to this framework.

Seaside - Web framework for Smalltalk platforms

  •    Pharo

Seaside provides a layered set of abstractions over HTTP and HTML that let you build highly interactive web applications quickly, reusably and maintainably. It is based on Smalltalk, a proven and robust language that is implemented by different vendors.

saga-login-flow - A login/register flow built with React + Redux Saga

  •    Javascript

This application demonstrates what a React-based register/login workflow might look like with Redux Saga. It's based on Max Stoiber's login-flow, but uses Redux Saga instead of Redux Thunk to handle asynchronous actions.


git-town - Generic, high-level Git workflow support!

  •    Gherkin

Git Town makes software development teams who use Git even more productive and happy. It adds Git commands that support GitHub Flow, Git Flow, the Nvie model, GitLab Flow, and other workflows more directly, and it allows you to perform many common Git operations faster and easier. See git-town.com for documentation and this Softpedia article for an independent review.

login-flow - :key: A login/register flow built with React&Redux

  •    Javascript

This application demonstrates what a React.js based register/login workflow might look like on the Frontend. I used my react-boilerplate as a starting point — the app thus uses Redux, PostCSS, react-router, ServiceWorker, AppCache, bcrypt and lots more. The default username is AzureDiamond and the default password is hunter2, but feel free to register new users! The registered users are saved to localStorage, so they'll persist across page reloads.

e-BioFlow

  •    Java

E-BioFlow enables the scientists to design workflow using three different perspectives: control flow, data flow and resource perspective. The workflow tool is based on the Yawl engine and has support for BioMOBY and WSDL services and Perl and R scripts.

flow-static-land - Implementation of common algebraic types in JavaScript + Flow

  •    Javascript

The idea (faking higher kinded types in Flow) is based on the paper Lightweight higher-kinded polymorphism and elm-brands.

habitus - A Build Flow Tool for Docker

  •    Go

Habitus adds workflows to Docker build. This means you can create a chain of builds to generate your final Docker image based on a workflow. This is particularly useful if your code is in compiled languages like Java or Go or if you need to use secrets like SSH keys during the build.Habitus is a standalone build flow tool for Docker. It’s a command line tool that builds Docker images based on their Dockerfile and a build.yml.

habitus - A Build Flow Tool for Docker

  •    Go

Habitus adds workflows to Docker build. This means you can create a chain of builds to generate your final Docker image based on a workflow. This is particularly useful if your code is in compiled languages like Java or Go or if you need to use secrets like SSH keys during the build. Habitus is a standalone build flow tool for Docker. It’s a command line tool that builds Docker images based on their Dockerfile and a build.yml.

CuteFlow - Document Circulation and Workflow System

  •    PHP

CuteFlow is a webbased open source document circulation and workflow system. Users are able to define "documents" which are send step by step to every station/user in a list. It's an electronical way for doing (i.e. internal) document circulations. The fields can be filled with values by the receiver of the document directly in the users E-Mail-Client. After a completed circulation you will have a completely filled document.

fastdraw

  •    

Zope-CMF-based tool for SVG graphical flow design. Uses IDEF standards as design methodology.Will permit flow simulation and export of complete workflows to various workflow engine formats,first one OpenFlow. Demo at www.bpros.it

Data-Flow Analysis Framework for Java

  •    Java

A framework for data-flow based program analysis, implemented as a set of Java APIs. By using this framework, researchers and developers can easily implement analyses, test their correctness, and evaluate their performance. In addition, the framework all

Enterprise SSIS Framework

  •    

The Enterprise SSIS Framework is a project intended to simplify the management of an organization’s administration and ETL assets by abstracting the coordination and control flow into metadata. This project consists of the four parts: - Core SSIS Packages: A set of packages...

noria - Dynamically changing, partially-stateful data-flow for web application backends.

  •    Rust

Noria is a new streaming data-flow system designed to act as a fast storage backend for read-heavy web applications based on this paper from OSDI'18. It acts like a database, but precomputes and caches relational query results so that reads are blazingly fast. Noria automatically keeps cached results up-to-date as the underlying data, stored in persistent base tables, change. Noria uses partially-stateful data-flow to reduce memory overhead, and supports dynamic, runtime data-flow and query change. At a high level, Noria takes a set of parameterized SQL queries (think prepared statements), and produces a data-flow program that maintains materialized views for the output of those queries. Reads now become fast lookups directly into these materialized views, as if the value had been directly cached in memcached. The views are then kept up-to-date incrementally through the data-flow, which yields high write throughput.

pyflow - Fast, accurate and easy to run dense optical flow with python wrapper

  •    C++

Python wrapper for Ce Liu's C++ implementation of Coarse2Fine Optical Flow. This is super fast and accurate optical flow method based on Coarse2Fine warping method from Thomas Brox. This python wrapper has minimal dependencies, and it also eliminates the need for C++ OpenCV library. For real time performance, one can additionally resize the images to a smaller size. This wrapper code was developed as part of our CVPR 2017 paper on Unsupervised Learning using unlabeled videos. Github repository for our CVPR 17 paper is here.

PL/FLOW

  •    PHP

PL/FLOW is a workflow engine written in Oracle PL/SQL, implementing interfaces 1 and 2 (Process Definition and the client API) as specified by the Workflow Management Coalition. (www.wfmc.org)

B-Flow Process and Workflow Tool + HD

  •    PHP

Web-based Business Workflow management tool, supporting email amp; SMS notifications of tasks organized into arbitrarily complex Business Processes. Includes escalations, group-based access control, reporting, SLA measurements and trouble tickets.

luaradio - A lightweight, embeddable software-defined radio framework built on LuaJIT

  •    Lua

LuaRadio is a lightweight, embeddable flow graph signal processing framework for software-defined radio. It provides a suite of source, sink, and processing blocks, with a simple API for defining flow graphs, running flow graphs, creating blocks, and creating data types. LuaRadio is built on LuaJIT, has a small binary footprint of under 750 KB (including LuaJIT), has no external hard dependencies, and is MIT licensed. LuaRadio can be used to rapidly prototype software radios, modulation/demodulation utilities, and signal processing experiments. It can also be embedded into existing radio applications to serve as a user scriptable engine for processing samples.