MDA-Based Approach for Blockchain Smart Contract Development

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 im...

Full description

Bibliographic Details
Main Authors: Mantas Jurgelaitis, Lina Čeponienė, Karolis Butkus, Rita Butkienė, Vaidotas Drungilas
Format: Article
Language:English
Published: MDPI AG 2022-12-01
Series:Applied Sciences
Subjects:
Online Access:https://www.mdpi.com/2076-3417/13/1/487
_version_ 1797626285046890496
author Mantas Jurgelaitis
Lina Čeponienė
Karolis Butkus
Rita Butkienė
Vaidotas Drungilas
author_facet Mantas Jurgelaitis
Lina Čeponienė
Karolis Butkus
Rita Butkienė
Vaidotas Drungilas
author_sort Mantas Jurgelaitis
collection DOAJ
description 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.
first_indexed 2024-03-11T10:08:10Z
format Article
id doaj.art-c1b80d746c0f4931aaeb336f2e1ca32a
institution Directory Open Access Journal
issn 2076-3417
language English
last_indexed 2024-03-11T10:08:10Z
publishDate 2022-12-01
publisher MDPI AG
record_format Article
series Applied Sciences
spelling doaj.art-c1b80d746c0f4931aaeb336f2e1ca32a2023-11-16T14:57:42ZengMDPI AGApplied Sciences2076-34172022-12-0113148710.3390/app13010487MDA-Based Approach for Blockchain Smart Contract DevelopmentMantas Jurgelaitis0Lina Čeponienė1Karolis Butkus2Rita Butkienė3Vaidotas Drungilas4Department of Information Systems, Faculty of Informatics, Kaunas University of Technology, Studentų Str. 50, LT-51368 Kaunas, LithuaniaDepartment of Information Systems, Faculty of Informatics, Kaunas University of Technology, Studentų Str. 50, LT-51368 Kaunas, LithuaniaDepartment of Information Systems, Faculty of Informatics, Kaunas University of Technology, Studentų Str. 50, LT-51368 Kaunas, LithuaniaDepartment of Information Systems, Faculty of Informatics, Kaunas University of Technology, Studentų Str. 50, LT-51368 Kaunas, LithuaniaDepartment of Information Systems, Faculty of Informatics, Kaunas University of Technology, Studentų Str. 50, LT-51368 Kaunas, LithuaniaBlockchain 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.https://www.mdpi.com/2076-3417/13/1/487smart contractMDAUMLcode generationmodel transformation
spellingShingle Mantas Jurgelaitis
Lina Čeponienė
Karolis Butkus
Rita Butkienė
Vaidotas Drungilas
MDA-Based Approach for Blockchain Smart Contract Development
Applied Sciences
smart contract
MDA
UML
code generation
model transformation
title MDA-Based Approach for Blockchain Smart Contract Development
title_full MDA-Based Approach for Blockchain Smart Contract Development
title_fullStr MDA-Based Approach for Blockchain Smart Contract Development
title_full_unstemmed MDA-Based Approach for Blockchain Smart Contract Development
title_short MDA-Based Approach for Blockchain Smart Contract Development
title_sort mda based approach for blockchain smart contract development
topic smart contract
MDA
UML
code generation
model transformation
url https://www.mdpi.com/2076-3417/13/1/487
work_keys_str_mv AT mantasjurgelaitis mdabasedapproachforblockchainsmartcontractdevelopment
AT linaceponiene mdabasedapproachforblockchainsmartcontractdevelopment
AT karolisbutkus mdabasedapproachforblockchainsmartcontractdevelopment
AT ritabutkiene mdabasedapproachforblockchainsmartcontractdevelopment
AT vaidotasdrungilas mdabasedapproachforblockchainsmartcontractdevelopment