CATERPILLAR:一种基于以太坊区块链的业务流程执行引擎
软件工程
2019-04-23 v3
摘要
区块链平台,如以太坊,允许一组参与者在不依赖中心权威的情况下维护交易账本,并部署称为智能合约的脚本,这些脚本在 certain 交易发生时执行。这些特性可用作在互不信任的各方之间执行协作式业务流程的基本构件。然而,使用区块链平台提供的底层原语实现业务流程是繁琐且易错的。相比之下,成熟的业务过程管理系统,例如基于标准业务流程模型与记号(BPMN)的系统,为面向过程应用的快速开发提供了便利的抽象。本文演示了如何结合业务过程管理系统的优势与区块链平台的优势。文章介绍了一种基于区块链的 BPMN 执行引擎,即 Caterpillar。如同任何 BPMN 执行引擎,Caterpillar 支持流程模型实例的创建,并允许用户监控流程实例的状态并执行其中的任务。Caterpillar 的特性在于每个流程实例的状态维护在(以太坊)区块链上,且工作流路由由 BPMN 到 Solidity 的编译器生成的智能合约执行。Caterpillar 编译器支持大量 BPMN 构造,包括子流程、多实例活动与事件处理器。本文描述了 Caterpillar 的架构,以及其为支持流程实例监控、工作项分配与执行、以及服务任务执行所提供的接口。
引用
@article{arxiv.1808.03517,
title = {CATERPILLAR: A Business Process Execution Engine on the Ethereum Blockchain},
author = {Orlenys López-Pintado and Luciano García-Bañuelos and Marlon Dumas and Ingo Weber and Alex Ponomarev},
journal= {arXiv preprint arXiv:1808.03517},
year = {2019}
}
备注
Preprint for Software: Practice and Experience