Authors:
Mailson Teles-Borges
1
;
Jose Bocanegra
2
;
Eldair Dornelles
1
;
Sandro Sawicki
1
;
Antonia M. Reina-Quintero
3
;
Carlos Molina-Jimenez
4
;
Fabricia Roos-Frantz
1
and
Rafael Z. Frantz
1
Affiliations:
1
Unijui University, Ijuí, RS, Brazil
;
2
Universidad de los Andes, Bogotá, Colombia
;
3
University of Seville, Seville, Spain
;
4
Department of Computer Science and Technology, University of Cambridge, U.K.
Keyword(s):
Blockchain, Domain-Specific Languages, Enterprise Application Integration, Jabuti DSL, Language Server Protocol, Smart Contracts.
Abstract:
Some decentralised applications (such as blockchains) take advantage of the services that smart contracts provide. Currently, each blockchain platform is tightly coupled to a particular contract language; for example, Ethereum supports Serpent and Solidity, while Hyperledger prefers Go. To ease contract reuse, contracts can be specified in platform-independent languages and automatically translated into the languages of the target platforms. With this approach, the task is reduced to the specification of the contract in the language statements. This can be tedious and error-prone unless the language is accompanied by supportive tools. This paper presents Jabuti CE, a model-driven tool that assists users of Jabuti DSL in specifying platform-independent contracts for Enterprise Application Integration. We have implemented Jabuti CE as an extension for Visual Studio Code.