Smart contract generation for inter-organizational process collaboration |
| |
Authors: | Tianhong Xiong Shangqing Feng Maolin Pan Yang Yu |
| |
Affiliation: | School of Computer Science and Engineering, Sun Yat-sen University, Guangzhou, China |
| |
Abstract: | Currently, inter-organizational process collaboration (IOPC) has been widely used in the design and development of distributed systems that support business process execution. Blockchain-based IOPC can establish trusted data sharing among participants, attracting more and more attention. The core of such study is to translate the graphical model (e.g., BPMN) into program code called smart contract that can be executed in the blockchain environment. In this context, a proper smart contract plays a vital role in the correct implementation of block-chain-based IOPC. In fact, the quality of graphical model affects the smart contract generation. Problematic models (e.g., deadlock) will result in incorrect contracts (causing unexpected behaviors). To avoid this undesired implementation, this article explores to generate smart contracts by using the verified formal model as input instead of graphical model. Specifically, we introduce a prototype framework that supports the automatic generation of smart contracts, providing an end-to-end solution from modeling, verification, translation to implementation. One of the cores of this framework is to provide a CSP#-based formalization for the BPMN collaboration model from the perspective of message interaction. This formalization provides precise execution semantics and model verification for graphical models, and a verified formal model for smart contract generation. Another novelty is that it introduces a syntax tree-based translation algorithm to directly map the formal model into a smart contract. The required formalism, verification, and translation techniques are transparent to users without imposing additional burdens. Finally, a set of experiments shows the effectiveness of the framework. |
| |
Keywords: | blockchain BPMN inter-organizational process collaboration smart contract verification |
|
|