TY - JOUR
T1 - Caterpillar
T2 - A business process execution engine on the Ethereum blockchain
AU - López-Pintado, Orlenys
AU - García-Bañuelos, Luciano
AU - Dumas, Marlon
AU - Weber, Ingo
AU - Ponomarev, Alexander
N1 - Publisher Copyright:
© 2019 John Wiley & Sons, Ltd.
PY - 2019/7
Y1 - 2019/7
N2 - 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 programs, 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 (BPMSs), 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 BPMS with those of a blockchain platform. The article introduces a blockchain-based BPMN execution engine, named 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, multiple-instance 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.
AB - 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 programs, 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 (BPMSs), 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 BPMS with those of a blockchain platform. The article introduces a blockchain-based BPMN execution engine, named 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, multiple-instance 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.
KW - blockchain
KW - business process management system
KW - distributed ledger
KW - model-driven engineering
UR - http://www.scopus.com/inward/record.url?scp=85065635938&partnerID=8YFLogxK
U2 - 10.1002/spe.2702
DO - 10.1002/spe.2702
M3 - Article
AN - SCOPUS:85065635938
SN - 0038-0644
VL - 49
SP - 1162
EP - 1193
JO - Software: Practice and Experience
JF - Software: Practice and Experience
IS - 7
ER -