70 likes | 205 Views
Introduction Toronto, Sept 11, 2013 Paul Tarvydas paul.tarvydas@gmail.com. Flow-Based Programming. ls -l | less Characteristics: components ports standardized communication. Simple (text) example of FBP. FBP. subroutine / statement-level components
E N D
Introduction Toronto, Sept 11, 2013 Paul Tarvydas paul.tarvydas@gmail.com Flow-Based Programming
ls -l | less Characteristics: components ports standardized communication Simple (text) example of FBP
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)
http://www.kickstarter.com/projects/noflo/noflo-development-environmenthttp://www.kickstarter.com/projects/noflo/noflo-development-environment http://noflojs.org Javascript (Coffeescript) + Node.js NoFlo
FBP in FBPhttps://github.com/guitarvydas/vsh/yEd + 800 LOC + fork();
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 Websites