Advances in a DSL to Specify Smart Contracts for Application Integration Processes

Resumo


Several languages have been developed for writing smart contracts for specific domains, such as health, finance, and business processes. However, none of them includes the constructors needed for writing smart contracts used in application integration processes which have their own particularities. Such smart contracts are responsible for monitoring the communication between the process and the applications to guarantee that the rights of the parties involved in the integration process are observed. To cover the gap, this paper discusses a domain-specific language for writing smart contracts in the application integration domain. It provides constructors to write smart contracts with a level of abstraction close to the natural language used in conventional contracts.

Palavras-chave: Smart Contract, Integration Process, Integration Solution, Domain-specific Language, Enterprise Application Integration

Referências

Accord Project (2019). Ergo language guide. https://docs.accordproject.org/docs/logic-ergo.html. Last accessed on 15 Dec 2021.

Biryukov, A., Khovratovich, D., and Tikhomirov, S. (2017). Findel: Secure derivative contracts for ethereum. In Financial Cryptography Workshops, pages 453–467. Springer.

Bistarelli, S., Faloci, F., and Mori, P. (2021). Towards a graphical DSL for tracing supply chains on blockchain. In International Workshop on Future Perspective of Decentralized Applications, pages 1–12. Springer.

ConsenSys Diligence (2020). Ethereum smart contract best practices. https://consensys.github.io/smart-contract-best-practices/attacks/. Last accessed on 01/04/2022.

Dean, D. (2019). Smartfin - implementing a financial domain-specific language for smart contracts. Technical report, Imperial College London.

Dwivedi, V. K., Norta, A., Wulf, A., Leiding, B., Saxena, S., and Udokwu, C. (2021). A formal specification smart-contract language for legally binding decentralized autonomous organizations. IEEE Access, 9(1):76069–76082.

Egelund-Müller, B., Elsman, M., Henglein, F., and Ross, O. (2017). Automated execution of financial contracts on blockchains. Business & Information Systems Engineering, 59(6):457–467.

Ethereum Foundation (2021). Solidity documentation. https://solidity.readthedocs.io/en/latest/. Last accessed on 5 Jan 2022.

Frantz, C. and Nowostawski, M. (2016). From institutions to code: Towards automated generation of smart contracts. In 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems, pages 210–215. IEEE.

Frantz, R. Z., Corchuelo, R., Basto-Fernandes, V., Rosa-Sequeira, F., Roos-Frantz, F., and Arjona, J. L. (2020). A cloud-based integration platform for enterprise application integration: A model-driven engineering approach. Software - Practice and Experience, 51(4):824–847.

Frantz, R. Z., Corchuelo, R., and Roos-Frantz, F. (2016). On the design of a maintainable software development kit to implement integration solutions. Journal of Systems and Software, 111(1):89–104.

Frantz, R. Z., Reina-Quintero, A. M., and Corchuelo, R. (2011). A domain-specific language to design application integration solutions. International Journal of Cooperative Information Systems, 20(2):143–176.

Griffo, C., ao Paulo A. Almeida, J., and Guizzardi, G. (2020). Towards a legal core ontology based on alexy’s theory of fundamental rights. In Multilingual Workshop on Artificial Intelligence and Law, pages 1–12. CEUR-WS.org.

He, X., Qin, B., Zhu, Y., Chen, X., and Liu, Y. (2018). SPESC: A specification language for smart contracts. In 2018 IEEE 42nd Annual Computer Software and Applications Conference, pages 132–137. IEEE Computer Society.

Object Management Group (2014). Business Process Model and Notation (BPMN), Version 2.0.2. Technical Report formal/2013-12-09, Object Management Group.

O’Connor, R. (2017). Simplicity: A new language for blockchains. In Proceedings of the 2017 Workshop on Programming Languages and Analysis for Security, pages 107– 120. ACM.

Regnath, E. and Steinhorst, S. (2018). Smaconat: Smart contracts in natural language. In 2018 Forum on Specification Design Languages, pages 5–16. IEEE.

Seijas, P. L., Nemish, A., Smith, D., and Thompson, S. J. (2020). Marlowe: Implementing and analysing financial contracts on blockchain. In Financial Cryptography Workshops, pages 496–511. Springer.

Sharifi, S., Parvizimosaed, A., Amyot, D., Logrippo, L., and Mylopoulos, J. (2020). Symboleo: Towards a specification language for legal contracts. In 2020 IEEE 28th International Requirements Engineering Conference, pages 364–369. IEEE.

Skotnica, M. and Pergl, R. (2019). Das contract - A visual domain specific language for modeling blockchain smart contracts. In Advances in Enterprise Engineering XIII, pages 149–166. Springer.

Skotnica, M., van Kervel, S. J. H., and Pergl, R. (2017). A DEMO machine - A formal foundation for execution of DEMO models. In Advances in Enterprise Engineering XI, pages 18–32. Springer.

Szabo, N. (1997). Formalizing and securing relationships on public networks. First Monday, 2(9):1–15.

Tateishi, T., Yoshihama, S., Sato, N., and Saito, S. (2019). Automatic smart contract generation using controlled natural language and template. IBM Journal of Research and Development, 63(2/3):6:1–6:12.

Varela-Vaca, A. J. and Reina-Quintero, A. M. (2021). Smart contract languages: A multivocal mapping study. ACM Computing Surveys, 54(1):1–38.

Wöhrer, M. and Zdun, U. (2020). Domain specific language for smart contract development. In 2020 IEEE International Conference on Blockchain and Cryptocurrency, pages 1–9. IEEE.

Wood, G. (2014). Ethereum: A secure decentralised generalised transaction ledger. https://gavwood.com/paper.pdf. Last accessed on 20 Jan 2022.
Publicado
13/06/2022
Como Citar

Selecione um Formato
DORNELLES, Eldair F.; PARAHYBA, Fernando; FRANTZ, Rafael Z.; ROOS-FRANTZ, Fabrícia; REINA-QUINTERO, Antonia M.; MOLINA-JIMÉNEZ, Carlos; BOCANEGRA, José; SAWICKI, Sandro. Advances in a DSL to Specify Smart Contracts for Application Integration Processes. In: CONGRESSO IBERO-AMERICANO EM ENGENHARIA DE SOFTWARE (CIBSE), 25. , 2022, Córdoba. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2022 . p. 46-60. DOI: https://doi.org/10.5753/cibse.2022.20962.