CATERPILLAR: A Business Process Execution Engine on the Ethereum\n Blockchain
Abstract
Blockchain platforms, such as Ethereum, allow a set of actors to maintain a\nledger of transactions without relying on a central authority and to deploy\nscripts, called smart contracts, that are executed whenever certain\ntransactions occur. These features can be used as basic building blocks for\nexecuting collaborative business processes between mutually untrusting parties.\nHowever, implementing business processes using the low-level primitives\nprovided by blockchain platforms is cumbersome and error-prone. In contrast,\nestablished business process management systems, such as those based on the\nstandard Business Process Model and Notation (BPMN), provide convenient\nabstractions for rapid development of process-oriented applications. This\narticle demonstrates how to combine the advantages of a business process\nmanagement system with those of a blockchain platform. The article introduces a\nblockchain-based BPMN execution engine, namely Caterpillar. Like any BPMN\nexecution engine, Caterpillar supports the creation of instances of a process\nmodel and allows users to monitor the state of process instances and to execute\ntasks thereof. The specificity of Caterpillar is that the state of each process\ninstance is maintained on the (Ethereum) blockchain and the workflow routing is\nperformed by smart contracts generated by a BPMN-to-Solidity compiler. The\nCaterpillar compiler supports a large array of BPMN constructs, including\nsubprocesses, multi-instances activities and event handlers. The paper\ndescribes the architecture of Caterpillar, and the interfaces it provides to\nsupport the monitoring of process instances, the allocation and execution of\nwork items, and the execution of service tasks.\n
Community
0 commentsNo discussion yet
Be the first to share a question or observation.