Re: [Boost-users] [review] Dataflow Review starts today, September 1st
Hi, in the last year, I have been doing a lot of dataflow programming so potentially I am very interested in this library. However, I would really like to see a documentation page that "sells" the library. I would like to see a description of cases that would be difficult, timeconsuming or hard to adapt for future requirements when implemented without this library, and understand how the library makes life easier. Instead, the library documentation quickly focuses on the architecture, i.e. the different layers in the library. There are some examples (VTK, graphical editor), but from these too I cannot tell if this library would help me or not. Best regards, Maarten ----- Original Message ---- From: Jaakko Järvi <jarvi@cs.tamu.edu> To: boost-users <boost-users@lists.boost.org> Sent: Monday, September 1, 2008 4:00:49 PM Subject: [Boost-users] [review] Dataflow Review starts today, September 1st The review of Stjepan Rajko's Dataflow library starts today, September 1st, and will run until September 10th. --------------------------------------------------------- Description of the library: Dataflow is a generic library for dataflow programming. Dataflow programs can typically be expressed as a graph in which vertices represent components that process data, and edges represent the flow of data between the components. As such, dataflow programs can be easily reconfigured by changing the components and/or the connections. This review focuses on the Dataflow.Signals layer of the library. For its data transport mechanism, Dataflow.Signals uses Boost.Signals which can be used to make lasting dataflow connections based on function calls. Dataflow.Signals provides the following to facilitate signals-based dataflow networks: * A number of useful general-purpose components, and building blocks for implementing new components. * Various free functions and operators for connecting and using components. The library documentation provides some concrete examples of how Dataflow.Signals layer can be used. Some examples are: * Implementing distributed dataflow applications using Dataflow.Signals and Boost.Asio * An image processing network using Dataflow.Signals and Boost.GIL * A GUI dataflow editor (located in the Dataflow.Blueprint documentation) While the Dataflow library contains other layers, only the Dataflow.Signals layer is ready for review. Reviewers are welcome to provide feedback for any part of the library, but please be aware that the documentation and implementation for the other layers may be lacking (for example, there is the generic support layer, which provides concepts applicable to different dataflow frameworks, and can be used to develop generic dataflow code, as well as the Dataflow.Blueprint layer which provides run-time reflection and modeling of dataflow networks in a Boost Graph Library graph for any dataflow framework with implemented Dataflow library support). For the time being, please consider these other layers as implementation details or proof-of-concept examples, as appropriate. The library is accessible as a tarball at: http://www.boostpro.com/vault/index.php?&directory=Dataflow The documentation can be accessed here: http://www.dancinghacker.com/code/dataflow/ The documentation particular to the Dataflow.Signals layer under review: http://www.dancinghacker.com/code/dataflow/dataflow/signals.html Dataflow depends on many existing Boost libraries, such as Fusion and MPL. The Dataflow.Signals layer builds functionality over Boost.Signals. The Dataflow library has been tested using a recent version of the Boost trunk, as well as the 1.35 release. Tests and examples have been built successfuly on OS X (GCC 4.0, 4.2), Linux (GCC 4.2), and Windows (MSVC 8.0 and to some degree MinGW GCC 4.2). --------------------------------------------------------- --------------------------------------------------------- Questions you may want to answer in your review: - What is your evaluation of the design? - What is your evaluation of the implementation? - What is your evaluation of the documentation? - What is your evaluation of the potential usefulness of the library? - Did you try to use the library? With what compiler? Did you have any problems? - How much effort did you put into your evaluation? A glance? A quick reading? In-depth study? - Are you knowledgeable about the problem domain? In particular, please remember to answer the following question explicitly: - Do you think the library should be accepted as a Boost library? Jaakko Järvi Review Manager _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Hi Marteen, On Tue, Sep 2, 2008 at 4:48 AM, Maarten Nieber <hallomaarten@yahoo.com> wrote:
in the last year, I have been doing a lot of dataflow programming so potentially I am very interested in this library. However, I would really like to see a documentation page that "sells" the library. I would like to see a description of cases that would be difficult, timeconsuming or hard to adapt for future requirements when implemented without this library, and understand how the library makes life easier. Instead, the library documentation quickly focuses on the architecture, i.e. the different layers in the library. There are some examples (VTK, graphical editor), but from these too I cannot tell if this library would help me or not.
Thanks for your interest. The documentation for the Dataflow.Signals layer perhaps shows some more concrete benefits: http://www.dancinghacker.com/code/dataflow/dataflow/signals.html In particular, that layer provides a number of components which can be used with any signal signature, and makes connecting the components slightly more concise and readable (IMO). There are also some higher-level benefits that arise from the architecture itself - for example the fact that the graphical editor can be used on a variety of underlying dataflow frameworks as long as they model the right Dataflow concepts. E.g., if you look at: http://dancinghacker.blip.tv/posts?view=archive&nsfw=dc ..., you'll see the same editor work with three completely different frameworks, which it can do easily because it uses the generic dataflow layer to interface with whatever framework it's built with. What sort of things do you do / would you like to do with dataflow programming? If you can tell me a little bit about that, perhaps I can try to think of some other examples of how the Dataflow library could (or perhaps couldn't) make your task easier. Best, Stjepan
participants (2)
-
Maarten Nieber
-
Stjepan Rajko