70 likes | 163 Views
Flow-Based Programming. Introduction Toronto, Sept 11, 2013 Paul Tarvydas paul.tarvydas@gmail.com. Simple (text) example of FBP. ls -l | less Characteristics: components ports standardized communication. FBP. subroutine / statement-level components
E N D
Flow-Based Programming Introduction Toronto, Sept 11, 2013 Paul Tarvydas paul.tarvydas@gmail.com
Simple (text) example of FBP ls -l | less Characteristics: components ports standardized 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-environment http://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-environment http://noflojs.org