skip to main content
10.1145/3341105.3373988acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Engineering trustable choreography-based systems using blockchain

Published:30 March 2020Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarCross RefCross Ref
  6. 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 ScholarGoogle ScholarCross RefCross Ref
  7. 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 ScholarGoogle ScholarCross RefCross Ref
  8. 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 ScholarGoogle ScholarCross RefCross Ref
  9. Carminati, B., Rondanini, C., and Ferrari, E. Confidential business process execution on blockchain. In Web Services (2018), IEEE, pp. 58--65.Google ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarCross RefCross Ref
  11. 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 ScholarGoogle ScholarCross RefCross Ref
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarCross RefCross Ref
  14. 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 ScholarGoogle ScholarCross RefCross Ref
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle Scholar
  19. 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 ScholarGoogle Scholar
  20. 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 ScholarGoogle Scholar
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. OMG. Business Process Model and Notation, 2011.Google ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarCross RefCross Ref
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle Scholar
  28. 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 ScholarGoogle Scholar
  29. 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 ScholarGoogle Scholar
  30. 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 ScholarGoogle ScholarCross RefCross Ref
  31. Wessling, F., and Gruhn, V. Engineering software architectures of blockchain-oriented applications. In Software Architecture Companion (2018), IEEE, pp. 45--46.Google ScholarGoogle ScholarCross RefCross Ref
  32. Wood, G. Ethereum: A secure decentralised generalised transaction ledger. Tech. rep., Ethereum Yellow Paper, 2014.Google ScholarGoogle Scholar
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle Scholar
  35. 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 ScholarGoogle Scholar

Index Terms

  1. Engineering trustable choreography-based systems using blockchain
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            SAC '20: Proceedings of the 35th Annual ACM Symposium on Applied Computing
            March 2020
            2348 pages
            ISBN:9781450368667
            DOI:10.1145/3341105

            Copyright © 2020 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 30 March 2020

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate1,650of6,669submissions,25%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader