BitML: A UML Profile for Bitcoin Blockchain

Document Type : Original Article

Authors

1 Electrical and computer engineering department, University of Kashan, Kashan, Iran

2 Faculty of Mathematical Science, University of Kashan, Kashan, Iran

10.22133/ijwr.2024.422357.1191

Abstract

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.

Keywords

Main Subjects


  • Porru, A. Pinna, M. Marchesi, and R. Tonelli, “Blockchain-oriented software engineering: challenges and new directions”, In 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), 2017, pp. 169-171, 10.1109/ICSE-C.2017.142.
  • Sefid-Dashti, and J. Habibi, “A reference architecture for mobile SOA”, Systems Engineering, vol. 17, no. 4, pp. 407-425, 2014, https://doi.org/10.1111/sys.21279.
  • J. López-Fernández, A. Garmendia, E. Guerra, and J. de Lara, “An example is worth a thousand words: Creating graphical modelling environments by example”, Software and Systems Modeling, vol. 18, no. 2, pp. 961-993, 2019, https://doi.org/10.1007/s10270-017-0632-7.
  • Serna, N. A. Day, S. Esmaeilsabzali, “Dash: declarative behavioural modelling in Alloy with control state hierarchy”, Software and Systems Modeling, vol. 22, no. 2, pp. 733-749, 2023, https://doi.org/10.1007/s10270-022-01012-1.
  • Ciccozzi, I. Malavolta, and B. Selic, “Execution of UML models: a systematic review of research and practice”, Software and Systems Modeling, vol. 18, no. 3, pp. 2313-2360, 2019, https://doi.org/10.1007/s10270-018-0675-4.
  • M. Duc, "Uml superstructure: language definition and diagrams”, In Real-time object uniform design methodology with UML, 2007, pp. 77-190, https://doi.org/10.1007/978-1-4020-5977-3_4.
  • E. Plazas, S. Bimonte, G. D. Sousa, and J. C. Corrales, “Data-centric UML profile for wireless sensors: Application to smart farming”, International Journal of Agricultural and Environmental Information Systems (IJAEIS), vol. 10, no. 2, pp. 21-48, 2019, https://doi.org/10.4018/IJAEIS.2019040102.
  • Bartoletti, and R. Zunino, “BitML: a calculus for Bitcoin smart contracts”, in Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, 2018, pp. 83-100, https://doi.org/10.1145/3243734.3243795.
  • Rocha, and S. Ducasse, “Preliminary steps towards modeling blockchain oriented software”, In 2018 IEEE/ACM 1st International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB), 2018, pp. 52-57, https://doi.org/10.1145/3194113.3194123.
  • Bollen, “A Conceptual Model of the Blockchain”, In OTM Confederated International Conferences On the Move to Meaningful Internet Systems, 2019, pp. 117-126, https://doi.org/10.1007/978-3-030-40907-4_12.
  • Anvari, M. D. Takht-Fooladi, and B. Sefid-Dashti, “Thrift service composition: toward extending BPEL”, In Proceedings of the international conference on smart cities and internet of things, 2018, pp. 1-5., https://doi.org/10.1145/3269961.3269973.
  • S. Vingerhouts, S. Heng, Y. Wautelet, “Organizational modeling for blockchain oriented software engineering with extended-i* and uml”, In CEUR Workshop Proceedings, vol. 2749, pp. 23-34, 2020,
  • Sefid-Dashti, S. J. Sartakhti, and H. Daghigh, “Brand New Categories of Cryptographic Hash Functions: A Survey”, Journal of Electrical and Computer Engineering Innovations, vol. 11, no. 2, pp. 335-354, 2023, https://doi.org/10.22061/JECEI.2023.9271.598.
  • Sheth, and J. Dattani, “Overview of blockchain technology”, Asian Journal For Convergence In Technology (AJCT), 2019, vol. 5, no. 1, pp. 1-3, 2019, https://asianssr.org/index.php/ajct/article/view/728.
  • M. Antonopoulos, Mastering bitcoin: programming the open blockchain, O'Reilly Media, Inc, 2017.
  • Back, “Hashcash-a denial of service counter-measure”, 2002, available at: http://www.hashcash.org/papers/hashcash.pdf, last accessed October. 25, 2023
  • Nakamoto, “Bitcoin: a peer-to-peer electronic cash system”, Decentralized Business Review, 2008, http://dx.doi.org/10.2139/ssrn.3440802
  • Wang, H. Yu, Z. Zhang, J. Piao, and J. Liu, “ECDSA weak randomness in Bitcoin, ” Future Generation Computer Systems, vol. 102, pp. 507-513, 2020, https://doi.org/10.1016/j.future.2019.08.034.
  • Jackson, “Alloy: a lightweight object modelling notation”, ACM Transactions on Software Engineering and Methodology, vol. 11, no. 2, pp. 256-290, 2002, https://doi.org/10.1145/505145.505149.
  • Object Management Group, “OMG Meta Object Facility (MOF) Core Specification”, OMG specification, 2019, Ver. 2.5.1, available at: https://www.omg.org/spec/MOF/2.5.1/PDF, last accessed October. 25, 2023.
  • Varró, and A. Pataricza, “VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML (The Mathematics of Metamodeling is Metamodeling Mathematics)”, Software and Systems Modeling, vol. 2, no. 3, pp. 187-210, 2003, https://doi.org/10.1007/s10270-003-0028-8.
  • Herrera, P. Lara, M. Sánchez, and J. Villalobos, “Metamodeling the e-waste domain to support decision-making”, The International Journal of Logistics Management, vol. 32, no. 10, pp. 262-283, 2020, https://doi.org/10.1108/IJLM-01-2020-0070.
  • Tenbergen, and T. Weyer, “Generation of hazard relation diagrams: Formalization and tool support”, Software and Systems Modeling, vol. 20, no. 1, pp. 175-210, 2021, https://doi.org/10.1007/s10270-020-00799-1.
  • Gómez, R. J. Rodríguez, M. E. Cambronero, and V. Valero, “Profiling the publish/subscribe paradigm for automated analysis using colored Petri nets”, Software and Systems Modeling, vol. 18, no. 5, pp. 2973-3003, 2019, https://doi.org/10.1007/s10270-019-00716-1.
  • Miles and K. Hamilton, Learning UML 2.0: a pragmatic introduction to UML, O'Reilly, 2006.
  • Perez-Palacin, J. Merseguer, J. I. Requeno, M. Guerriero, E. Di Nitto, and D. A. Tamburri, “A UML profile for the design, quality assessment and deployment of data-intensive applications”, Software and Systems Modeling, vol. 18, no. 6, pp. 3577-3614, 2019, https://doi.org/10.1007/s10270-019-00730-3.
  • Zoughbi, L. Briand, and Y. Labiche, “Modeling safety and airworthiness (RTCA DO-178B) information: conceptual model and UML profile”, Software and Systems Modeling, vol. 10, no. 3, pp. 337-367, 2011, https://doi.org/10.1007/s10270-010-0164-x.
  • Pilone, and N. Pitman, UML 2.0 in a Nutshell, O'Reilly Media, 2005.
  • Warmer, and A. Kleppe, Object Constraint Language: Getting Your Models Ready for MDA, Addison Wisely Professional, 2003.
  • Sparx Systems, “User Guide - MDG Technologies”, Enterprise Architect User Guide Series, Ver. 1.0, 2017, available at: https://www.sparxsystems.com/resources/user-guides/modeling/mdg-technologies.pdf, last accessed October. 25, 2023.
  • Bartolucci, F. Caccioli, and P. Vivo, “A percolation model for the emergence of the Bitcoin Lightning Network”, Scientific reports, Vol 10, No. 1, p. 4488, 2020, https://doi.org/10.1038/s41598-020-61137-5.
  • Pérez-Solà, S. Delgado-Segura, G. Navarro-Arribas, and J. Herrera-Joancomartí, “Double-spending prevention for bitcoin zero-confirmation transactions”, International Journal of Information Security, vol. 18, no. 4, pp. 451-463, 2019, https://doi.org/10.1007/s10207-018-0422-4.
  • Bass, P. Clements, and R. Kazman, Software architecture in practice, 4th edn., Addison-Wesley Professional, 2021.
  • M. H. Bamakan, N. Nezhadsistani, , O. Bodaghi, , and Q. Qu, (). “Patents and intellectual property assets as non-fungible tokens; key technologies and challenges”, Scientific Reports, vol. 12, no. 1, pp. 1-13, 2022, https://doi.org/10.1038/s41598-022-05920-6.