Model-Driven Engineering for Multi-Party Interactions on a Blockchain – An Example

Multi-party interactions can be a powerful modeling paradigm for business processes that cross organizational boundaries, but it is typically hard to implement in a distributed setting. Blockchains, however, make such an implementation possible. In a small case study, this paper demonstrates three related approaches how an example taxi dispatcher application involving independent parties can be modeled for implementation on a blockchain: BPMN with an extension for multi-party interactions, synchronized state-machines, and high-level Petri nets, respectively. The three models differ in how well they (a) align with the code in order to support model-driven engineering and (b) support readability of the contractual aspects of the chaincode to business stakeholders. We have implemented and tested the example application as chaincode on Hyperledger Fabric. Our preliminary results suggest that chaincode can be aligned with a high-level model of synchronized state machines which, in turn, can be easily visualized, for example, by an extended BPMN notation.

By: Gero Dittmann, Alessandro Sorniotti, and Hagen Völzer

Published in: RZ3965 in 2019


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to .