https://github.com/workflowfm/pew
A persistent execution engine for pi-calculus workflows
https://github.com/workflowfm/pew
business-process-management process-algebra process-algebra-engine workflow-engine workflow-management workflows
Last synced: about 1 month ago
JSON representation
A persistent execution engine for pi-calculus workflows
- Host: GitHub
- URL: https://github.com/workflowfm/pew
- Owner: workflowfm
- License: apache-2.0
- Created: 2018-09-18T11:42:44.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-12-27T01:00:02.000Z (about 2 years ago)
- Last Synced: 2024-12-06T21:36:05.778Z (about 1 year ago)
- Topics: business-process-management, process-algebra, process-algebra-engine, workflow-engine, workflow-management, workflows
- Language: Scala
- Homepage: http://docs.workflowfm.com/pew
- Size: 4.84 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.org
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
#+TITLE: PEW: Persistent Execution of Workflows
#+AUTHOR: Petros Papapanagiotou
#+ATTR_ORG: :width 100
[[https://raw.githubusercontent.com/workflowfm/pew/master/docs/static/images/PEW.png]]
[[../../releases/latest][https://img.shields.io/badge/version-1.6.1-brightgreen.svg]]
[[https://opensource.org/licenses/Apache-2.0][https://img.shields.io/badge/license-Apache%202.0-yellowgreen.svg]]
A library for the execution of [[https://en.wikipedia.org/wiki/%CE%A0-calculus][\pi-calculus]] workflows, particularly those constructed by the WorkflowFM Reasoner using persistent (serializable) state.
| Created by [[https://github.com/PetrosPapapa][Petros Papapanagiotou]] |
| [[https://aiml.inf.ed.ac.uk/][Artificial Intelligence Modelling Lab]] |
| [[https://web.inf.ed.ac.uk/aiai][Artificial Intelligence and its Applications Institute]] |
| [[https://www.ed.ac.uk/informatics/][School of Informatics, University of Edinburgh]] |
This is part of the [[https://github.com/workflowfm/][WorkflowFM]] framework for correct-by-construction process and resource workflows.
[[http://docs.workflowfm.com/pew][More info and documentation can be found in the main webpage.]]
* Modules
In addition to the core \pi-calculus model and execution engine, a list of additoinal modules are provided:
- *pew-mongo*: Additional executor that stores the state in a [[https://www.mongodb.com/][MongoDB]] database.
- *pew-kafka*: Additional executor that stores the state and open process calls in [[https://kafka.apache.org/][Kafka]] topics, yielding a fully persistent/completely stateless execution.
- *pew-simulator*: Integration with [[https://github.com/workflowfm/proter][Proter]], an expressive, asynchronous process simulator.
- *skiexample*: Deployment of an example ski purchasing workflow documented in [[https://arxiv.org/abs/1108.2348][this paper]].
* Install
Requirements:
- Java 8, Scala 2.12.12
- [[https://www.scala-sbt.org/][sbt]] v1.4.5 or higher
You can then add Proter as [[https://search.maven.org/artifact/com.workflowfm/pew_2.12][a dependency from Maven]].
e.g. in sbt:
#+BEGIN_SRC scala
libraryDependencies += "com.workflowfm" %% "pew" % "1.6.1"
#+END_SRC
* Authors
:PROPERTIES:
:CUSTOM_ID: authors
:END:
** Maintainer
[[https://github.com/PetrosPapapa][Petros Papapanagiotou]] - pe.p@ed.ac.uk - [[https://twitter.com/petrospapapa][@PetrosPapapa]]
** Contributors
A big thank you to the following contributors in order of appearance:
- [[https://github.com/JeVaughan][James Vaughan]]
- [[https://github.com/pilif0][Filip Smola]]
* License
Distributed under the Apache 2.0 license. See [[LICENSE]] for more information.
Copyright \copy 2012-2021 [[https://www.ed.ac.uk/][The University of Edinburgh]] and [[#authors][contributors]]