Skip to content


Repository files navigation

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.

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


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"



Petros Papapanagiotou - - @PetrosPapapa


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


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

Copyright © 2012-2021 The University of Edinburgh and contributors