PEW: Persistent Execution of Workflows

https://raw.githubusercontent.com/workflowfm/pew/master/docs/static/images/PEW.png

https://img.shields.io/badge/version-1.6.1-brightgreen.svg https://img.shields.io/badge/license-Apache%202.0-yellowgreen.svg

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.

More info and documentation can be found in the main webpage.

Modules

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.

Install

Requirements:

  • 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"

Authors

Maintainer

Petros Papapanagiotou - [email protected] - @PetrosPapapa

Contributors

A big thank you to the following contributors in order of appearance:

License

Distributed under the Apache 2.0 license. See LICENSE for more information.

Copyright © 2012-2021 The University of Edinburgh and contributors