Brainslug

brainslug is a control flow abstraction library. It allows to model business logic flow of an application as a graph of typed nodes, which can be transformed to different representations or be executed within a customisable environment.
Features
-
Builder DSL for flow definitions
-
BPMN 2.0 XML export using the Activiti Model
-
Flow Renderer based on the BPMN symbols
-
Quartz Scheduler for Async Tasks
Example
FlowBuilder simpleFlow = new FlowBuilder() {
@Override
public void define() {
flowId(id("simpleFlow"));
start(event(id("start")))
.execute(task(id("task")).display("A Task"))
.execute(task(id("task2")).display("Another Task"))
.end(event(id("end")));
}
};
represents the the following flow:

Download
The current version is available in the maven central repository
<dependencies>
...
<dependency>
<groupId>de.androbit</groupId>
<artifactId>brainslug-core</artifactId>
<version>...</version>
</dependency>
...
</dependencies>