ABSTRACT
The adoption of model-driven engineering methodologies contributes to reduce the complexity of developing distributed systems. A key point to master such complexity is the use of modelling languages, such as the BPMN standard. This permits to specify choreography diagrams describing, from a global point of view, the interactions that should occur among distributed components in order to reach given goals. Even though BPMN choreographies are promising to increase business possibilities, their concrete adoption has been challenging and faced complex hurdles. On the one hand, there is a lack of concrete support to the different phases of the choreography life-cycle, especially in relation to the choreography execution. Another obstacle consists in the lack of distributed infrastructures allowing the participants involved in the cooperation to trust each other, and in particular to get enough guarantees that all of them will behave as prescribed by the choreography model.
In this paper, we face such challenges by proposing a methodology and a related model-driven framework, named ChorChain, that are based on the blockchain technology. We provide support to the whole life-cycle of choreographies, from their modelling to their distributed execution. More specifically, ChorChain takes as input a BPMN choreography model and automatically translates it in a Solidity smart contract. Such a contract will permit to enforce the interactions among the cooperating participants, so to satisfy the prescriptions reported in the starting model. The methodology and the framework have been evaluated through experiments conducted on the Rinkeby Ethereum Testnet.
- Aldazabal, A., Baily, T., Nanclares, F., Sadovykh, A., Hein, C., and Ritter, T. Automated model driven development processes. In Model Driven Tool and Process Integration (2008), Fraunhofer IRB Verlag, pp. 361 -- 375.Google Scholar
- Ali, M., De Angelis, G., and Polini, A. Servicepot-an extensible registry for choreography governance. In 7th International Symposium on Service-Oriented System Engineering (2013), IEEE, pp. 113--124.Google ScholarDigital Library
- Almeida, S., Albuquerque, A., and Silva, A. An approach to develop software that uses blockchain. In Software Engineering and Algorithms in Intelligent Systems (2018), vol. 763 of AISC, Springer, pp. 346--355.Google Scholar
- Autili, M., Di Salle, A., Gallo, F., Pompilio, C., and Tivoli, M. Model-driven adaptation of service choreographies. In 33rd Annual ACM Symposium on Applied Computing (2018), ACM, pp. 1441--1450.Google ScholarDigital Library
- Autili, M., Gallo, F., Inverardi, P., Pompilio, C., and Tivoli, M. Introducing trust in service-oriented distributed systems through blockchain. In International Workshop on Governing Adaptive and Unplanned Systems of Systems (2019).Google ScholarCross Ref
- Autili, M., Inverardi, P., and Tivoli, M. Choreos: Large scale choreographies for the future internet. In 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (2014), pp. 391--394.Google ScholarCross Ref
- Benyagoub, S., Ouederni, M., Aït-Ameur, Y., and Mashkoor, A. Incremental construction of realizable choreographies. In NASA Formal Methods Symposium (2018), vol. 10811 of LNCS, Springer, pp. 1--19.Google ScholarCross Ref
- Carminati, B., Ferrari, E., and Rondanini, C. Blockchain as a platform for secure inter-organizational business processes. In Collaboration and Internet Computing (2018), IEEE, pp. 122--129.Google ScholarCross Ref
- Carminati, B., Rondanini, C., and Ferrari, E. Confidential business process execution on blockchain. In Web Services (2018), IEEE, pp. 58--65.Google Scholar
- Corradini, F., Morichetta, A., Polini, A., Re, B., and Tiezzi, F. Collaboration vs. choreography conformance in BPMN 2.0: From theory to practice. In EDOC (2018), IEEE Computer Society, pp. 95--104.Google ScholarCross Ref
- Fridgen, G., Radszuwill, S., Urbach, N., and Utz, L. Cross-organizational workflow management using blockchain technology - towards applicability, auditability, and automation. In Hawaii International Conference on System Sciences (2018), AIS Electronic Library, pp. 1--10.Google ScholarCross Ref
- García-Bañuelos, L., Ponomarev, A., Dumas, M., and Weber, I. Optimized execution of business processes on blockchain. In Business Process Management (2017), vol. 10445 of LNCS, Springer, pp. 130--146.Google Scholar
- Hanada, Y., Hsiao, L., and Levis, P. Smart contracts for machine-to-machine communication: Possibilities and limitations. In Internet of Things and Intelligence System (2018), IEEE, pp. 130--136.Google ScholarCross Ref
- Kosba, A., Miller, A., Shi, E., Wen, Z., and Papamanthou, C. Hawk: The blockchain model of cryptography and privacy-preserving smart contracts. In IEEE symposium on security and privacy (2016), pp. 839--858.Google ScholarCross Ref
- Ladleif, J., Weske, M., and Weber, I. Modeling and enforcing blockchain-based choreographies. In BPM (2019), vol. 11675 of LNCS, Springer, pp. 69--85.Google ScholarDigital Library
- López-Pintado, O., Dumas, M., García-Bañuelos, L., and Weber, I. Dynamic role binding in blockchain-based collaborative business processes. In Advanced Information Systems Engineering (2019), vol. 11483 of LNCS, Springer, pp. 399--414.Google ScholarDigital Library
- López-Pintado, O., Dumas, M., García-Bañuelos, L., and Weber, I. Interpreted execution of business process models on blockchain. ArXiv abs/1906.01420 (2019).Google Scholar
- López-Pintado, O., Dumas, M., and Weber, I. Caterpillar: A blockchain-based business process management system. In BPM Demo Track and BPM Dissertation Award (2017), vol. 1920, CEUR-WS.org.Google Scholar
- López-Pintado, O., García-Bañuelos, L., Dumas, M., Weber, I., and Ponomarev, A. CATERPILLAR: A business process execution engine on the ethereum blockchain. CoRR abs/1808.03517 (2018).Google Scholar
- Madsen, M. F., Gaub, M., Høgnason, T., Kirkbro, M. E., Slaats, T., and Debois, S. Collaboration among adversaries: distributed workflow execution on a blockchain. In Symposium on Foundations and Applications of Blockchain (2018).Google Scholar
- Marrocco, L., Ferrer, E. C., Bucchiarone, A., Grignard, A., Alonso, L., Larson, K., et al. Basic: Towards a blockchained agent-based simulator for cities. In Massively Multiagent Systems (2018), vol. 11422 of LNCS, Springer, pp. 144--162.Google Scholar
- Mendling, J., Weber, I., and et al. Blockchains for business process management - challenges and opportunities. ACM Transactions on Management Information Systems 9, 1 (2018), 1--16.Google ScholarDigital Library
- OMG. Business Process Model and Notation, 2011.Google Scholar
- Pastor, O. Model-driven development in practice: From requirements. In Theory and Practice of Computer Science, vol. 10139 of LNCS. Springer, 2017, pp. 405--410.Google ScholarCross Ref
- Porru, S., Pinna, A., Marchesi, M., and Tonelli, R. Blockchain-oriented software engineering: challenges and new directions. In Software Engineering Companion (2017), IEEE/ACM, pp. 169--171.Google ScholarDigital Library
- Rocha, H., and Ducasse, S. Preliminary steps towards modeling blockchain oriented software. In Emerging Trends in Software Engineering for Blockchain (2018), ACM, pp. 52--57.Google Scholar
- Schurr, P. H., and Ozanne, J. L. Influences on exchange processes: Buyers' preconceptions of a seller's trustworthiness and bargaining toughness. Journal of consumer research 11, 4 (1985), 939--953.Google Scholar
- Sturm, C., Szalanczi, J., Schönig, S., and Jablonski, S. A lean architecture for blockchain based decentralized process execution. In Business Process Management Workshops (2018), vol. 342 of LNBIP, Springer, pp. 361--373.Google Scholar
- Tran, A. B., Lu, Q., and Weber, I. Lorikeet: A model-driven engineering tool for blockchain-based business process execution and asset management. In BPM Dissertation Award, Demonstration, and Industrial Track (2018), vol. 2196, CEUR-WS.org, pp. 56--60.Google Scholar
- Weber, I., Xu, X., Riveret, R., Governatori, G., Ponomarev, A., and Mendling, J. Untrusted business process monitoring and execution using blockchain. In Business Process Management (2016), vol. 9850 of LNCS, Springer, pp. 329--347.Google ScholarCross Ref
- Wessling, F., and Gruhn, V. Engineering software architectures of blockchain-oriented applications. In Software Architecture Companion (2018), IEEE, pp. 45--46.Google ScholarCross Ref
- Wood, G. Ethereum: A secure decentralised generalised transaction ledger. Tech. rep., Ethereum Yellow Paper, 2014.Google Scholar
- Xu, X., Lu, Q., Liu, Y., Zhu, L., Yao, H., and Vasilakos, A. V. Designing blockchain-based applications a case study for imported product traceability. Future Generation Computer Systems 92 (2019), 399--406.Google ScholarDigital Library
- Zhang, F., Cecchetti, E., Croman, K., Juels, A., and Shi, E. Town crier: An authenticated data feed for smart contracts. In Computer and Communications Security (2016), ACM, pp. 270--282.Google Scholar
- Zyskind, G., Nathan, O., and Pentland, A. Decentralizing privacy: Using blockchain to protect personal data. In Security and Privacy (2015), IEEE Computer Society, pp. 180--184.Google Scholar
Index Terms
- Engineering trustable choreography-based systems using blockchain
Recommendations
Engineering Trustable and Auditable Choreography-based Systems Using Blockchain
A key challenge in engineering distributed systems consists in the integration into their development of a decentralised infrastructure allowing the system participants to trust each other. In this article, we face such a challenge by proposing a model-...
Web Service Choreography Configurations for BPMN
Service-Oriented Computing - ICSOC 2007 WorkshopsThe Business Process Modeling Notation (BPMN) and the Business Process Execution Language (BPEL) are the de-facto standards for process modeling and implementation. While BPMN allows to define choreographies, i.e. the interaction behavior of ...
UML for systems engineering
The paper provides an introduction to the employment of Unified Modeling Language (UML) in systems engineering. The standard being developed for this purpose is the Systems Modeling Language (SysML) specification. This paper, while not dealing with ...
Comments