BitML: A UML Profile for Bitcoin Blockchain - Behrouz Sefid-dashti; javad salimi; Hassan Daghigh (International Journal of Web Research)
Blockchain is a technology that enables distributed and secure data structures for various business domains. Bitcoin is a notable blockchain application that is a decentralized digital currency with immense popularity and value. Bitcoin involves many concepts and processes that require modelling for better comprehension and development. Modelling is a technique that simplifies and abstracts a system at a certain level of detail and accuracy. Software modelling is applied in Model-Driven Engineering (MDE), which automates the software development process using models and transformations. Domain-specific languages (DSLs) are languages that are customized for a specific domain and offer intuitive syntax for domain experts. To address the need for specialized tools for Bitcoin blockchain modelling, we propose a novel Unified Modelling Language (UML) profile that is specifically designed for this domain. UML is a standard general-purpose modelling language that can be extended by profiles to support specific domains. A meta-model is a model that defines the syntax and semantics of a modelling language. The proposed meta-model, which includes stereotypes, tagged values, enumerations, and constraints defined by Object Constraint Language (OCL), is defined as a UML profile. The proposed meta-model is implemented in the Sparx Enterprise Architect (Sparx EA) modelling tool, which is a widely used tool for software modelling and design. To validate the practicality and effectiveness of the proposed UML profile, we developed a real-world case study using the proposed meta-model and conducted an evaluation using the Architecture Tradeoff Analysis Method (ATAM). The results showed the proposed UML profile promising.