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.
- Gaurav Agrawal. 2018. DSLs for Ethereum Contracts. Retrieved May 2, 2020 from https://medium.com/coinmonks/dsls-for-ethereum-contracts-380136177abdGoogle Scholar
- 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 ScholarCross Ref
- Azure blockchain. 2016. Retrieved May 2, 2020 from https://azure.microsoft.com/en-us/solutions/blockchain/Google Scholar
- Vitalik Buterin et al. 2014. A next-generation smart contract and decentralized application platform. white paper 3, 37 (2014).Google Scholar
- 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 Scholar
- Hyperledger Composer. 2018. Hyperledger Composer Documentation. Linux Foundation (2018).Google Scholar
- DAML SDK Documentation. 2019. Retrieved May 2, 2020 from https://docs.daml.com/index.htmlGoogle Scholar
- 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 ScholarCross Ref
- 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 Scholar
- Giancarlo Guizzardi. 2013. Ontology-based evaluation and design of visual conceptual modeling languages. In Domain engineering. Springer, 317--347.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- IOHK. 2018. Marlowe: Financial contracts on blockchain. Retrieved May 2, 2020 from https://iohk.io/blog/marlowe-financial-contracts-on-blockchain/Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 Scholar
- Ergo Project. [n.d.]. Retrieved August 2, 2020 from https://accordproject.org/projects/ergo/Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Gavin Wood et al. 2014. Ethereum: A secure decentralised generalised transaction ledger. Ethereum project yellow paper 151, 2014 (2014), 1--32.Google Scholar
- 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 Scholar
Index Terms
- iContractML: A Domain-Specific Language for Modeling and Deploying Smart Contracts onto Multiple Blockchain Platforms
Recommendations
iContractML 2.0: A domain-specific language for modeling and deploying smart contracts onto multiple blockchain platforms
Abstract Context:Smart contracts play a vital role in many fields. Despite being called smart, the development of smart contracts is a tedious task beyond defining a set of contractual rules. In addition to business knowledge, ...
Highlights- A reference model and platform agnostic language for smart contracts.
- A feature-...
Introduction to Bitcoins, Blockchains and Smart Contracts
SIGCSE '20: Proceedings of the 51st ACM Technical Symposium on Computer Science EducationThis workshop introduces participants to bitcoins, blockchains and programming smart contracts using Ethereum Blockchains and the Solidity programming language. Cryptocurrencies such as Bitcoins use Blockchains and Smart Contracts to enforce ...
Empirical vulnerability analysis of automated smart contracts security testing on blockchains
CASCON '18: Proceedings of the 28th Annual International Conference on Computer Science and Software EngineeringThe emerging blockchain technology supports decentralized computing paradigm shift and is a rapidly approaching phenomenon. While blockchain is thought primarily as the basis of Bitcoin, its application has grown far beyond cryptocurrencies due to the ...
Comments