flow-based programming introduction toronto, sept 11, 2013 paul tarvydas paul.tarvydas@gmail.com

Post on 26-Mar-2015

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Flow-Based Programming

Introduction

Toronto, Sept 11, 2013

Paul Tarvydaspaul.tarvydas@gmail.com

Simple (text) example of FBP

ls -l | less

Characteristics:components

portsstandardized communication

FBP

● subroutine / statement-level components● visual components & pipes (textual also)

● {processes | co-routines | stackless}● ports (queues) – {bounded | unbounded}● {streams | events}● encapsulation (namespace, time, space, control flow, …),

composition, hierarchy

Often Compared to...

● Erlang, CSP, Actors (FBP is hierarchical, siblings invisible)

● UML (FBP is for compiling designs, not modeling them)

● LabView (FBP preserves component separation at runtime)

● Scratch, etc. (FBP is primarily meant to simplify s/w engineering / architecting, not targeted at non-programmers per se)

NoFlo

http://www.kickstarter.com/projects/noflo/noflo-development-environmenthttp://noflojs.org

Javascript (Coffeescript) + Node.js

FBP in FBPhttps://github.com/guitarvydas/vsh/

yEd + 800 LOC + fork();

Websites

http://www.jpaulmorrison.com/fbp/https://groups.google.com/forum/#!forum/flow-based-programming

http://www.kickstarter.com/projects/noflo/noflo-development-environmenthttp://noflojs.org

top related