iContractML 2.0: A domain-specific language for modeling and deploying smart contracts onto multiple blockchain platforms

被引:27
作者
Hamdaqa, Mohammad [1 ,2 ]
Met, Lucas Alberto Pineda [2 ]
Qasse, Ilham [2 ]
机构
[1] Polytech Montreal, Dept Comp & Software Engn, Montreal, PQ, Canada
[2] Reykjavik Univ, Dept Comp Sci, Reykjavik, Iceland
基金
芬兰科学院;
关键词
Smart contracts; Blockchain; Model -driven engineering; Ethereum; Hyperledger fabric; DAML; Azure;
D O I
10.1016/j.infsof.2021.106762
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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, coding a smart contract requires strong technical knowledge in a multiplex of new and rapidly changing domain-specific languages and blockchain platforms. Objectives: The goal of this paper is to assist developers in building smart contracts independently from the language or the target blockchain platform. In which, we present our second-generation smart contract language iContractML 2.0. Methods: We follow a feature-oriented approach to analyze three different blockchain platforms and propose an enhanced reference model and a modeling framework for smart contracts (iContractML 2.0). Then, we evaluate the coverage and extensibility of iContractML 2.0, first through mapping the concepts of the reference models to the constructs within each of the platforms used in devising the reference model, and second through mapping its concepts to a new smart contract language not previously considered. Finally, we demonstrate the capabilities of iContractML 2.0 using five case studies from different business domains. Results: iContractML 2.0 extends our first generation language to support DAML, which is another standardized language for smart contracts. This makes iContractML 2.0 supports the platforms that DAML support by extension. Moreover, iContractML 2.0 supports generating the structural and deployment artifacts in addition to the smart contract behavior by implementing templates for some of the common functions. The results of evaluating the generality of the iContractML 2.0 reference model show that it is 91.7% lucid and 72.2% laconic. Moreover, the reference model is able to capture all the elements of the new language with 83.3% of the components which have a direct one-to-one mapping. Conclusion: iContractML 2.0 is an extensible framework that empowers developers to model and generate functional smart contract code that can be deployed onto multiple blockchain platforms.
引用
收藏
页数:14
相关论文
共 47 条
[1]  
Agrawal G, 2018, DSLS ETHEREUM CONTRA
[2]  
Alharby M., 2017, 11 INT C COMPUTER SC, P125, DOI https://doi.org/10.5121/csit.2017.71011
[3]  
Allison I., 2015, INTERNAT BUS TIME JU, V16
[4]  
[Anonymous], 2019, DAML SDK DOCUMENTATI
[5]  
[Anonymous], 2016, INT BUS TIMES
[6]  
[Anonymous], 2016, AZURE BLOCKCHAIN
[7]  
[Anonymous], 2018, LINUX FOUND, P1
[8]  
Biryukov Alex, 2017, Financial Cryptography and Data Security. FC 2017 International Workshops WAHC, BITCOIN, VOTING, WTSC, and TA. Revised Selected Papers: LNCS 10323, P453, DOI 10.1007/978-3-319-70278-0_28
[9]  
Brown R., 2015, THOUGHT FUTURE FINAN, P1
[10]  
Buterin V., 2015, ETHEREUM BLOG