CATERPILLAR: A Business Process Execution Engine on the Ethereum
Blockchain
release_s3qheuzjovfr7eri4nsgniyiuq
by
Orlenys López-Pintado, Luciano García-Bañuelos, Marlon Dumas,
Ingo Weber, Alex Ponomarev
2019
Abstract
Blockchain platforms, such as Ethereum, allow a set of actors to maintain a
ledger of transactions without relying on a central authority and to deploy
scripts, called smart contracts, that are executed whenever certain
transactions occur. These features can be used as basic building blocks for
executing collaborative business processes between mutually untrusting parties.
However, implementing business processes using the low-level primitives
provided by blockchain platforms is cumbersome and error-prone. In contrast,
established business process management systems, such as those based on the
standard Business Process Model and Notation (BPMN), provide convenient
abstractions for rapid development of process-oriented applications. This
article demonstrates how to combine the advantages of a business process
management system with those of a blockchain platform. The article introduces a
blockchain-based BPMN execution engine, namely Caterpillar. Like any BPMN
execution engine, Caterpillar supports the creation of instances of a process
model and allows users to monitor the state of process instances and to execute
tasks thereof. The specificity of Caterpillar is that the state of each process
instance is maintained on the (Ethereum) blockchain and the workflow routing is
performed by smart contracts generated by a BPMN-to-Solidity compiler. The
Caterpillar compiler supports a large array of BPMN constructs, including
subprocesses, multi-instances activities and event handlers. The paper
describes the architecture of Caterpillar, and the interfaces it provides to
support the monitoring of process instances, the allocation and execution of
work items, and the execution of service tasks.
In text/plain
format
Archived Files and Locations
application/pdf 946.8 kB
file_hjfdimw6ejgnpetrulbveh5ewy
|
arxiv.org (repository) web.archive.org (webarchive) |
1808.03517v3
access all versions, variants, and formats of this works (eg, pre-prints)