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...
Main Authors: | , , , , |
---|---|
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 |