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.
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.
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.
Sefid-dashti, B., salimi, J., & Daghigh, H. (2023). BitML: A UML Profile for Bitcoin Blockchain. International Journal of Web Research, 6(2), 1-18. doi: 10.22133/ijwr.2024.422357.1191
MLA
Behrouz Sefid-dashti; javad salimi; Hassan Daghigh. "BitML: A UML Profile for Bitcoin Blockchain". International Journal of Web Research, 6, 2, 2023, 1-18. doi: 10.22133/ijwr.2024.422357.1191
HARVARD
Sefid-dashti, B., salimi, J., Daghigh, H. (2023). 'BitML: A UML Profile for Bitcoin Blockchain', International Journal of Web Research, 6(2), pp. 1-18. doi: 10.22133/ijwr.2024.422357.1191
VANCOUVER
Sefid-dashti, B., salimi, J., Daghigh, H. BitML: A UML Profile for Bitcoin Blockchain. International Journal of Web Research, 2023; 6(2): 1-18. doi: 10.22133/ijwr.2024.422357.1191