SCMTool: A Graphical Tool for Smart Contract Modeling
Resumo
The development of smart contracts in the Ethereum Virtual Machine (EVM) can be a complex task, both for experienced and beginner developers. Understanding these contracts can be challenging for both technical and non-technical users, due to the difficulty in comprehending the connection between the elements and resources available, as there is no clear way to visually present the functionalities of a contract and its relationships. In this paper, we introduce the Smart Contract Modeling Tool (SCMTool), a graphical tool based on the Model-Driven Engineering approach, that allows users to specify models that represent the structure of a smart contract in a simpler and more intuitive way. The tool was validated using a use case from the NFT industry.
Referências
Boubeta-Puig, J., Rosa-Bilbao, J., and Mendling, J. (2021). Cepchain: A graphical model-driven solution for integrating complex event processing and blockchain. Expert Systems with Applications, 184:115578.
Buterin, V. et al. (2014). A next-generation smart contract and decentralized application platform. white paper, 3(37):2–1.
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.
Ferreira, J. F., Cruz, P., Durieux, T., and Abreu, R. (2020). Smartbugs: A framework to analyze solidity smart contracts. In 2020 35th IEEE/ACM International Conference on Automated Software Engineering (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 International Conference on Dependable Systems and Networks Workshops (DSN-W), pages 134–139.
Guida, L. and Daniel, F. (2019). Supporting reuse of smart contracts through service orientation and assisted development. In 2019 DAPPCON, pages 59–68.
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 System Analysis and Modelling Conference, SAM ’20, page 34–43, New York, NY, USA. Association for Computing Machinery.
Iovino, L., Pierantonio, A., and Malavolta, I. (2012). On the impact significance of metamodel evolution in mde. J. Object Technol., 11(3):3–1.
Jiao, J., Lin, S.-W., and Sun, J. (2020). 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.
Merlec, M. M., Lee, Y. K., and In, H. P. (2021). Smartbuilder: A block-based visual programming framework for smart contract development. In 2021 IEEE Blockchain, pages 90–94.
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.
Santiago, L., Abijaude, J., and Greve, F. (2021). A framework to generate smart contracts on the fly. In Proceedings of the XXXV Brazilian Symposium on Software Engineering, SBES ’21, page 410–415, New York, NY, USA. Association for Computing Machinery.
Seidewitz, E. (2003). What models mean. IEEE Software, 20(5):26–32.
Velasco, G. and Carvalho, S. (2022a). Domínios, aplicações, desafios e oportunidades sobre non-fungible tokens (nft): Um mapeamento sistemático da literatura. In Anais do VII WASHES, pages 41–50, Porto Alegre, RS, Brasil. SBC.
Velasco, G. and Carvalho, S. (2022b). Uma abordagem dirigida por modelo para desenvolvimento de contratos inteligentes na ethereum virtual machine. In Anais da X Escola Regional de Informática de Goiás, pages 106–117, Porto Alegre, RS, Brasil. SBC.
Viyović, V., Maksimović, M., and Perisić, B. (2014). Sirius: A rapid development of dsm graphical editor. In IEEE 18th INES 2014, pages 233–238.
Wang, Q., Li, R., Wang, Q., and Chen, S. (2021). Non-fungible token (nft): Overview, evaluation, opportunities and challenges. arXiv preprint arXiv:2105.07447.
Wang, S., Ouyang, L., Yuan, Y., Ni, X., Han, X., and Wang, F.-Y. (2019). Blockchain-enabled smart contracts: Architecture, applications, and future trends. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 49(11):2266–2277.