SEJul 10, 2018

CATERPILLAR: A Business Process Execution Engine on the Ethereum Blockchain

arXiv:1808.03517v3191 citations
Originality Highly original
AI Analysis

This addresses the problem of enabling secure, decentralized business process management for mutually untrusting parties, representing a novel integration of established BPMN systems with blockchain technology.

The paper tackles the challenge of implementing collaborative business processes on blockchain platforms like Ethereum, which is cumbersome with low-level primitives, by introducing Caterpillar, a BPMN execution engine that maintains process state on the blockchain and uses smart contracts for workflow routing, supporting various BPMN constructs such as subprocesses and multi-instance activities.

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.

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes