skip to main content
10.1145/3419804.3421454acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

iContractML: A Domain-Specific Language for Modeling and Deploying Smart Contracts onto Multiple Blockchain Platforms

Published:19 October 2020Publication History

ABSTRACT

Smart contracts are immutable digital programs deployed onto blockchain platforms to codify agreements. They enable blockchain technology to play a vital role in many fields, such as finance, health care, and energy. An important aspect of modeling and deploying smart contracts is to define the business process and rules that govern the agreements under which the corresponding actions are executed. Unfortunately, these models use a mix of technical and business-centric terminologies that are different based on the underlying blockchain platform that the smart contract is targeting. To address this issue, in this paper, we followed a feature-oriented domain analysis approach to identify the commonalities and variations between three of the common blockchain platforms that are used to deploy smart contracts; namely IBM Hyperledger Composer, Azure Blockchain Workbench, and Ethereum. Accordingly, we propose a reference model for smart contracts. The reference model is then realized as a modeling framework that enables developers to model and generate the structural code required to deploy a smart contract onto multiple blockchain platforms. The coverage of the proposed reference model was shown through mapping the concepts of the reference models to its corresponding constructs within each blockchain platform. Moreover, we provide three use cases to show how the proposed framework can empower developers to generate the structural code of smart contracts for the target platform through model transformation.

References

  1. Gaurav Agrawal. 2018. DSLs for Ethereum Contracts. Retrieved May 2, 2020 from https://medium.com/coinmonks/dsls-for-ethereum-contracts-380136177abdGoogle ScholarGoogle Scholar
  2. Alex Biryukov, Dmitry Khovratovich, and Sergei Tikhomirov. 2017. Findel: Secure derivative contracts for Ethereum. In International Conference on Financial Cryptography and Data Security. Springer, 453--467.Google ScholarGoogle ScholarCross RefCross Ref
  3. Azure blockchain. 2016. Retrieved May 2, 2020 from https://azure.microsoft.com/en-us/solutions/blockchain/Google ScholarGoogle Scholar
  4. Vitalik Buterin et al. 2014. A next-generation smart contract and decentralized application platform. white paper 3, 37 (2014).Google ScholarGoogle Scholar
  5. Christopher D Clack, Vikram A Bakshi, and Lee Braine. 2016. Smart contract templates: foundations, design landscape and research directions. arXiv preprint arXiv:1608.00771 (2016).Google ScholarGoogle Scholar
  6. Hyperledger Composer. 2018. Hyperledger Composer Documentation. Linux Foundation (2018).Google ScholarGoogle Scholar
  7. DAML SDK Documentation. 2019. Retrieved May 2, 2020 from https://docs.daml.com/index.htmlGoogle ScholarGoogle Scholar
  8. Christopher K Frantz and Mariusz Nowostawski. 2016. From institutions to code: Towards automated generation of smart contracts. In 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS* W). IEEE, 210--215.Google ScholarGoogle ScholarCross RefCross Ref
  9. Péter Garamvölgyi, Imre Kocsis, Benjámin Gehl, and Attila Klenik. 2018. Towards Model-Driven Engineering of Smart Contracts for Cyber-Physical Systems. In 2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN-W). IEEE, 134--139.Google ScholarGoogle Scholar
  10. Giancarlo Guizzardi. 2013. Ontology-based evaluation and design of visual conceptual modeling languages. In Domain engineering. Springer, 317--347.Google ScholarGoogle Scholar
  11. Giancarlo Guizzardi, Luís Ferreira Pires, and Marten Van Sinderen. 2005. An ontology-based approach for evaluating the domain appropriateness and comprehensibility appropriateness of modeling languages. In International Conference on Model Driven Engineering Languages and Systems. Springer, 691--705.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Xiao He, Bohan Qin, Yan Zhu, Xing Chen, and Yi Liu. 2018. Spesc: A specification language for smart contracts. In 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), Vol. 1. IEEE, 132--137.Google ScholarGoogle ScholarCross RefCross Ref
  13. IOHK. 2018. Marlowe: Financial contracts on blockchain. Retrieved May 2, 2020 from https://iohk.io/blog/marlowe-financial-contracts-on-blockchain/Google ScholarGoogle Scholar
  14. S Peyton Jones, Jean-Marc Eber, and Julian Seward. 2000. Composing contracts: an adventure in financial engineering. ACM SIG-PLAN Notices 35, 9 (2000), 280--292.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Kyo C Kang, Sholom G Cohen, James A Hess, William E Novak, and A Spencer Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Technical Report. Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst.Google ScholarGoogle Scholar
  16. Anastasia Mavridou and Aron Laszka. 2018. Designing secure ethereum smart contracts: A finite state machine based approach. In International Conference on Financial Cryptography and Data Security. Springer, 523--540.Google ScholarGoogle ScholarCross RefCross Ref
  17. Anastasia Mavridou and Aron Laszka. 2018. Tool demonstration: FSolidM for designing secure Ethereum smart contracts. In International Conference on Principles of Security and Trust. Springer, 270--277.Google ScholarGoogle ScholarCross RefCross Ref
  18. Anastasia Mavridou, Aron Laszka, Emmanouela Stachtiari, and Abhishek Dubey. 2019. VeriSolid: Correct-by-design smart contracts for Ethereum. In International Conference on Financial Cryptography and Data Security. Springer, 446--465.Google ScholarGoogle ScholarCross RefCross Ref
  19. Daniel Moody and Jos van Hillegersberg. 2008. Evaluating the visual syntax of UML: An analysis of the cognitive effectiveness of the UML family of diagrams. In International Conference on Software Language Engineering. Springer, 16--34.Google ScholarGoogle Scholar
  20. Ergo Project. [n.d.]. Retrieved August 2, 2020 from https://accordproject.org/projects/ergo/Google ScholarGoogle Scholar
  21. Jesús Sánchez-Cuadrado, Juan De Lara, and Esther Guerra. 2012. Bottom-up meta-modelling: An interactive approach. In International Conference on Model Driven Engineering Languages and Systems. Springer, 3--19.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Zeshun Shi, Huan Zhou, Yang Hu, Surbiryala Jayachander, Cees de Laat, and Zhiming Zhao. 2019. Operating Permissioned Blockchain in Clouds: A Performance Study of Hyperledger Sawtooth. In 2019 18th International Symposium on Parallel and Distributed Computing (ISPDC). IEEE, 50--57.Google ScholarGoogle Scholar
  23. International Business Times. 2016. Barclays' Smart Contract Templates stars in first ever public demo of R3's Corda platform. Retrieved May 2, 2020 from https://www.ibtimes.co.uk/barclays-smart-contract-templates-heralds-first-ever-public-demo-r3s-corda-platform-1555329Google ScholarGoogle Scholar
  24. Gavin Wood et al. 2014. Ethereum: A secure decentralised generalised transaction ledger. Ethereum project yellow paper 151, 2014 (2014), 1--32.Google ScholarGoogle Scholar
  25. Weiqin Zou, David Lo, Pavneet Singh Kochhar, Xuan-Bach D Le, Xin Xia, Yang Feng, Zhenyu Chen, and Baowen Xu. 2019. Smart contract development: Challenges and opportunities. IEEE Transactions on Software Engineering (2019).Google ScholarGoogle Scholar

Index Terms

  1. iContractML: A Domain-Specific Language for Modeling and Deploying Smart Contracts onto Multiple Blockchain Platforms

    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
      SAM '20: Proceedings of the 12th System Analysis and Modelling Conference
      October 2020
      156 pages
      ISBN:9781450381406
      DOI:10.1145/3419804

      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: 19 October 2020

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited

      Acceptance Rates

      SAM '20 Paper Acceptance Rate16of26submissions,62%Overall Acceptance Rate36of59submissions,61%

      Upcoming Conference

      ICSE 2025

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader