Litcius/Paper detail

MDA-Based Approach for Blockchain Smart Contract Development

Mantas Jurgelaitis, Lina Čeponienė, Karolis Butkus, Rita Butkienė, Vaidotas Drungilas

2022Applied Sciences16 citationsDOIOpen Access PDF

Abstract

Blockchain smart contracts can support the decentralisation of business processes, but due to smart contracts’ specifics, their development is a complicated process. Introducing model-driven development principles in smart contract development can facilitate requirement specification, design, and implementation activities. This paper presents a model-driven development method MDAsmartCD (Model-Driven Architecture-based Smart Contract Development) to alleviate smart contract development by supporting the complete MDA life cycle, covering the definition of Computation-Independent Model, Platform-Independent Model, and two instances of Platform-Specific Models. In MDAsmartCD, model transformations (model-to-model and model-to-text) are used to produce smart contract code in the Hyperledger Fabric platform Go and the Ethereum platform Solidity programming languages. The method application was demonstrated by implementing the smart contract for the hackathon solution and executing the generated Solidity and Go smart contracts in the workflow of issuing certificates for hackathon participants. During the execution of the workflow, both deployed smart contracts behaved identically and recorded analogous results in respective blockchain data storages. This demonstrated that the MDAsmartCD method enables the generation of compilable and executable smart contract code, ready for deployment on a blockchain platform.

Topics & Concepts

Smart contractSolidityExecutableComputer scienceWorkflowSoftware deploymentBlockchainSoftware engineeringProcess (computing)TraceabilityComputer securityDistributed computingDatabaseProgramming languageBlockchain Technology Applications and SecurityFinTech, Crowdfunding, Digital FinanceAuction Theory and Applications