An Extended Methodology Based on Agent-Oriented Modelling Approach for Blockchain Application Development - Michelle LiBin, Ten (University of Malaysia Sarawak, 2023)
Blockchain application development has received much attention nowadays. Blockchain handles sensitive data, which requires a layer of complexity such as cryptography, consensus mechanism, transaction immutability, and peer-to-peer network to manage decentralised data features, making blockchain development complex and challenging. Smart contracts are self-executing digital contracts that are stored on a blockchain. They enable parties to transact with each other without the need for intermediaries, making transactions faster, cheaper, and more secure. Through the synergy of blockchain and smart contracts, it is possible to create decentralised applications that can be used in a wide range of industries, bringing increased transparency, security, and efficiency to traditional business models. Various software methodologies have been introduced to support the development of blockchain applications systematically as well as reduce the development complexity. Despite the introduction of methodologies, further refinements are required to enhance their effectiveness for modelling. Moreover, all models are generic and do not consider the blockchain concept as first-class entities. Hence, a gap exists in extending and transforming the current blockchain modelling and practices when developing a blockchain application. This research introduces a new insight into blockchain-based application development through extended Agent-Oriented Modelling (AOM) to discover blockchain opportunities and commit to the growth of the technology. AOM is a methodology for complex socio-technical system development and can become an alternative methodology for blockchain application development. A walkthrough example of how extended AOM is used to model a blockchain-based lottery application is presented in this thesis. It reveals the issues and limitations of AOM, an extension of AOM, and the potential of extended AOM and turns it into a software methodology for blockchain-based application development. Furthermore, iv the extension of AOM is discussed to deal with the software challenges the novices faced. Three experiments were conducted with the novices. The novices (e.g. students) were required to construct the case study using Unified Modelling Language (UML), AOM, and extended AOM. The first experiment aimed to compare UML and AOM, which resulted in a mean mark of 15.636 for UML and 17.000 for AOM. The result revealed the potential usage of AOM to model blockchain applications apart from UML. The second experiment was targeted to specify the limitation of AOM in blockchain application development. From the findings, 78% of the students failed to model blockchain requirements through AOM because it needs to be more specific to identify blockchain needs. Hence, an extended AOM is needed. The third experiment intended to test the usability of the extended AOM and AOM. 44% of the students managed to capture more than 80% of blockchain requirements through extended AOM. On the other hand, 51% of the students scored between 20% to 60% on the blockchain requirement, and only 5% failed to model blockchain requirements through extended AOM. The results reveal the usage of the extended AOM to model blockchain-enabled applications comprehensively.