From: Stjepan Rajko (stipe_at_[hidden])
Date: 2008-07-20 19:29:09
I uploaded some youtube videos of a new visual editor for the Dataflow
library. There are three examples, each using a different underlying
framework (the visual editor code is generic):
visually editing a Dataflow.Signals network (data flows instantly):
visually editing a Dataflow.Managed network (data flows on request):
visually editing a BGL graph (this simple example lets you construct a
directed graph and query the number of strongly connected components):
The latter two examples use proof-of-concept implementations of
alternate frameworks built on top of the generic framework that is
part of the Dataflow library:
Dataflow.Managed is unlike Dataflow.Signals in that doesn't couple
data transfer with component invocation. In other words, if producer
A is connected to consumer B, when A changes its value B will not be
notified immediately. Instead, after any number of values in the
network has changed, the network as a whole can be told to update (the
network will then notify all components whose inputs have been
modified, in the order of a topological sort of the components).
Alternatively, components can be invoked individually, which gives
them a chance to check their inputs / modify their outputs.
The BGL support layer for the Dataflow library is an example of how
something that is not strictly a dataflow thing (e.g., a graph) can
still satisfy Dataflow concepts (there are Components (vertices) that
can be connected), and be used with the framework (e.g., you get a GUI
editor for free).
If you're interested in playing with this:
The new GUI uses GLV (http://mat.ucsb.edu/glv/) which is included with
the dataflow library in the sandbox and integrated in the bjam build
of the examples. As long as you have glut/freeglut available, it
should build using gcc/darwin, MSVC8+, gcc/minGW, and if you are
better than me at knowing which X libraries to link with and know how
to manipulate a Jamfile, gcc/linux (any GCC version 4.x should work).
If you run into any problems, please let me know.
The latest code is currently available from the sandbox only,
Any feedback would be appreciated.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk