PEW: Persistent Execution of Workflows
A library for the execution of π-calculus workflows, particularly those constructed by the WorkflowFM Reasoner using persistent (serializable) state.
|Created by Petros Papapanagiotou|
|Artificial Intelligence Modelling Lab|
|Artificial Intelligence and its Applications Institute|
|School of Informatics, University of Edinburgh|
This is part of the WorkflowFM framework for correct-by-construction process and resource workflows.
In addition to the core π-calculus model and execution engine, a list of additoinal modules are provided:
- pew-mongo: Additional executor that stores the state in a MongoDB database.
- pew-kafka: Additional executor that stores the state and open process calls in Kafka topics, yielding a fully persistent/completely stateless execution.
- pew-simulator: Integration with Proter, an expressive, asynchronous process simulator.
- skiexample: Deployment of an example ski purchasing workflow documented in this paper.
- Java 8, Scala 2.12.12
- sbt v1.4.5 or higher
You can then add Proter as a dependency from Maven.
e.g. in sbt:
libraryDependencies += "com.workflowfm" %% "pew" % "1.6.1"
A big thank you to the following contributors in order of appearance:
Distributed under the Apache 2.0 license. See LICENSE for more information.