Evaluation of a High-Level Metamodel for Developing Smart Contracts on the Ethereum Virtual Machine
Resumo
Developers of smart contracts face challenges such as the immutability of contracts and asset storage, which make the activity complex and errorprone. To make contracts safer and more reliable, Model-Driven Engineering (MDE) offers an alternative approach with an emphasis on the High-Level Metamodel for Smart Contract (HLM-SC), which allows for the high-level declaration of elements within a contract. This paper evaluates the HLM-SC using the MQuaRE framework to verify its conceptual validity with 11 external evaluators. The results demonstrated the acceptance of the metamodel. Additionally, this paper presents a guide on how to use HLM-SC to facilitate its adoption by developers. Finally, it demonstrates the application of HLM-SC in a scenario related to the NFT industry.
Referências
Annenkov, D., Nielsen, J. B., and Spitters, B. (2020). Concert: A smart contract certification framework in coq. In Proceedings of the 9th ACM SIGPLAN, page 215–228. Association for Computing Machinery.
Buterin, V. et al. (2014). A next-generation smart contract and decentralized application platform. white paper, 3(37):2–1.
Cai, W., Wang, Z., Ernst, J. B., Hong, Z., Feng, C., and Leung, V. C. M. (2018). Decentralized applications: The blockchain-empowered software system. IEEE Access, 6:53019–53033.
Chirtoaca, D., Ellul, J., and Azzopardi, G. (2020). A framework for creating deployable smart contracts for non-fungible tokens on the ethereum blockchain. In 2020 IEEE DAPPS, pages 100–105.
Dharanikota, S., Mukherjee, S., Bhardwaj, C., Rastogi, A., and Lal, A. (2021). Celestial: A smart contracts verification framework. In 2021 FMCAD, pages 133–142.
Feist, J., Grieco, G., and Groce, A. (2019). Slither: A static analysis framework for smart contracts. In 2019 IEEE/ACM 2nd WETSEB, pages 8–15.
Ferreira, J. F., Cruz, P., Durieux, T., and Abreu, R. (2020). Smartbugs: A framework to analyze solidity smart contracts. In 2020 35th IEEE/ACM ASE, pages 1349–1352.
Garamvölgyi, P., Kocsis, I., Gehl, B., and Klenik, A. (2018). Towards model-driven engineering of smart contracts for cyber-physical systems. In 2018 48th Annual IEEE/IFIP DSN-W, pages 134–139.
Grigg, I. (2017). Eos-an introduction. White paper. https://whitepaperdatabase.com/eos-whitepaper.
Hamdaqa, M., Metz, L. A. P., and Qasse, I. (2020). IContractML: A domain-specific language for modeling and deploying smart contracts onto multiple blockchain platforms. In Proceedings of the 12th SAM, page 34–43. Association for Computing Machinery.
Jiao, J., Lin, S.-W., and Sun, J. (2020a). A generalized formal semantic framework for smart contracts. In Fundamental Approaches to Software Engineering: 23rd International Conference, FASE 2020, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020, Dublin, Ireland, April 25–30, 2020, Proceedings, page 75–96, Berlin, Heidelberg. Springer-Verlag.
Jiao, J., Lin, S.-W., and Sun, J. (2020b). A generalized formal semantic framework for smart contracts. In Fundamental Approaches to Software Engineering: 23rd International Conference, FASE 2020, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020, Dublin, Ireland, April 25–30, 2020, Proceedings, page 75–96, Berlin, Heidelberg. Springer-Verlag.
Jurgelaitis, M., čeponienė, L., and Butkienė, R. (2022). Solidity code generation from uml state machines in model-driven smart contract development. IEEE Access, 10:33465–33481.
Kaleem, M., Kasichainula, K., Karanjai, R., Xu, L., Gao, Z., Chen, L., and Shi, W. (2021). An event driven framework for smart contract execution. DEBS ’21, page 78–89, New York, NY, USA. Association for Computing Machinery.
Khan, A. G., Zahid, A. H., Hussain, M., Farooq, M., Riaz, U., and Alam, T. M. (2019). A journey of web and blockchain towards the industry 4.0: An overview. In 2019 International Conference on Innovative Computing (ICIC), pages 1–7.
Kudo, T. N., Bulcão Neto, R. F., and Vincenzi, A. M. R. (2020a). Toward a metamodel quality evaluation framework: Requirements, model, measures, and process. In Proceedings of the XXXIV SBES, page 102–107. Association for Computing Machinery.
Kudo, T. N., Bulcão-Neto, R. d. F., Neto, V. V. G., and Vincenzi, A. M. R. (2022). Aligning requirements and testing through metamodeling and patterns: design and evaluation. Requirements Engineering, pages 1–19.
Kudo, T. N., Bulcão-Neto, R. F., and Vincenzi, A. M. R. (2020b). Metamodel quality requirements and evaluation (mquare). arXiv preprint arXiv:2008.09459.
Li, Z., Zhou, Y., Guo, S., and Xiao, B. (2021). Solsaviour: A defending framework for deployed defective smart contracts. In Annual ACSAC, page 748–760, New York, NY, USA. Association for Computing Machinery.
Qasse, I., Mishra, S., and Hamdaqa, M. (2021). iContractBot: A chatbot for smart contracts’ specification and code generation. In 2021 IEEE/ACM 3rd BotSE, pages 35–38.
Rajasekaran, A. S., Azees, M., and Al-Turjman, F. (2022). A comprehensive survey on blockchain technology. Sustainable Energy Technologies and Assessments, 52:102039.
Rodrigues da Silva, A. (2015). Model-driven engineering: A survey supported by the unified conceptual model. Computer Languages, Systems Structures, 43:139–155.
Schmidt, D. C. (2006). Guest editorx27;s introduction: Model-driven engineering. Computer, 39(02):25–31.
Seidewitz, E. (2003). What models mean. IEEE Software, 20(5):26–32.
Velasco, G. (2023). A model-driven approach for smart contract development (inprogress). In Programa de Pós–Graduação do Instituto de Informática da Universidade Federal de Goiás, Goiânia, GO, Brazil.
Velasco, G. and Carvalho, S. (2022). A model-driven approach to developing smart contracts on the ethereum virtual machine (in portuguese). In Proceedings of the X ERI-GO, pages 106–117. SBC.
Wang, S., Ouyang, L., Yuan, Y., Ni, X., Han, X., and Wang, F.-Y. (2019). Blockchainenabled smart contracts: Architecture, applications, and future trends. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 49(11):2266–2277.
Zeng, Q., He, J., Zhao, G., Li, S., Yang, J., Tang, H., and Luo, H. (2022). Ethergis: A vulnerability detection framework for ethereum smart contracts based on graph learning features. In 2022 IEEE 46th COMPSAC, pages 1742–1749.