Skip to content

javagl/Flow

Repository files navigation

Flow

Libraries for flow-based programming

Note: These libraries are still subject to change.

FlowScreenshot01.png

Quick start

Clone this repository, install it with Maven, create the samples package, and start the demo application:

git clone https://github.com/javagl/Flow.git
cd Flow
mvn clean install
cd flow-samples
mvn assembly:assembly
cd target
java -jar flow-samples-0.0.1-SNAPSHOT-demoJar.jar

That's it.

Overview

This repository contains the following sub-projects:

  • flow-core : The core library, containing the basic classes for flow-based programming: A Flow that consists of Module objects, where two modules can be connected with a Link, and which may be executed with a FlowExecutor.

  • flow-module-creation : Classes related to the ModuleCreator interface - a factory that can create Module instances.

  • flow-workspace : Classes for managing the infrastructure that a flow-based-programming application can be based upon: A FlowWorkspace that describes an (editable) state of the Flow that was created with the application.

  • flow-gui : An application offering a graphical user interface for visual-interactive flow-based programming

  • flow-io : Classes for reading and writing XML files that contain flow definitions.

  • flow-repository : A simple repository for module definitions

  • flow-module-definitions-basic : Some basic Module definitions, for modules that allow entering values or print objects to the console.

  • flow-samples : Example applications showing how to use the flow library

See the README.md of each project for further information.

Implementing custom modules

TODO Explain

Notes about type inference

TODO Just make clear that it is really hard...

Design choices

TODO Elaborate

  • No public classes for the model, no public constructors
  • Everything is observable via ...Listener interfaces
  • ...

Future tasks

TODO Add some ideas here

About

Libraries for flow-based programming

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages