Donut is a java process engine. It executes processes structured as directed acyclic graphs of tasks. It is designed for scalability and fault-tolerance.