Wednesday, March 18, 2015
Dataflow Language
It is becoming increasingly apparent to me that a dataflow programming model will be useful for plastimatch. Useful characteristics of such a dataflow system would be
- Well-specified programming language
- Library with embeddable interpreter
- Framework for calling C++ functions from interpreter
- Graphical editor of dataflows
A superficial survey suggests that the pickings are pretty slim indeed. But here are a few options.
- NoFlo
- Has graphical editor
- Has a language, or uses json
- Interpreter written in coffeescript (javascript), therefore would require embedding a javascript interpreter
- CppFBP
- Contains a crude graphical editor
- Has language
- Interpreter?
- Requires Lua and Boost
- https://github.com/jpaulm/cppfbp
- Chameleon
- Has graphical editor
- Has language
- Not obvious interpreter can be embedded
- Written in C++
- http://www.shinoe.org/cameleon/
- Yadinku
- Has graphical editor
- Has language
- Compiler for C++, but no interpreter
- http://statecharts.org/
- CAL / RVC-CAL
- Language only
- orcc
- Has graphical editor
- Seemingly no interpreter
- Requires eclipse
- opendf
- Has compiler, but seemingly no interprete
- PureData
- Has graphical editor
- Has language
- Has audio-video cruft, not sure this can be separated
- Ptolemy II
- Has C compiler, but seemingly no interpreter
- Google Cloud Dataflow
- Apache Pig
- Lucid
- Language only
- plucid
- Interpreter, written in C
- GPL license
- https://code.google.com/p/plucid/
- SISAL
- Compiler, but no interpreter
- https://sourceforge.net/projects/sisal/
- YAWL
- Has graphical editor
- More focused on business processes than code
- Seemingly tasks can map to Java, but not C++
- CPN Tools
- Has graphical editor
- Seemingly no interpreter, and no compile
- vvvv
- Has graphical editor
- Research-only license
References
- http://stackoverflow.com/questions/14613045/graphical-dataflow-composition-framework
- http://stackoverflow.com/questions/461796/dataflow-programming-languages/6774990
- http://stackoverflow.com/questions/71979/dataflow-programming-patterns-and-frameworks/21680911