SOFTWARE ARCHITECTURE SYSTEM DESIGN FOR THE MASS SERVICE SYSTEMS MODELING TO BE IMPLEMENTED IN GO PROGRAMMING LANGUAGE

Authors

DOI:

https://doi.org/10.20998/2079-0023.2024.01.14

Keywords:

software architecture, computer modeling, mass service system, Go programming language, concurrency, parallelism

Abstract

The subject of the article is the methods and approaches to organizing the architecture of software implementation designed for modeling the behavior of mass service systems. The goal of the work is to design a software architecture for implementation in Go language, intended to replicate the behavior of various types of mass service systems, without considering the failure of individual service channels, using parallel computing. The article addresses the following tasks: consider the basis for designing the architecture and conclude its appropriateness; develop requirements for the future software product for more effective resource use and clear definition of successful completion; analyze the approaches to organizing software architecture and make a justified decision on the application of one of them; design a general algorithm scheme taking into account all requirements; identify the components of the modeled system and their interactions; build process diagrams considering the specifics of the Go programming language; define the method and contracts of interaction with the software. The research will utilize the following methods: Go programming language, concurrency, architectural UML diagrams, C4 diagrams, process diagrams. The following results were obtained: the requirements for the software for modeling mass service operations (SMO) were defined; common approaches to organizing architecture were considered and a comparative analysis was conducted; the structure of the future program was developed at the necessary levels of abstraction; for the first time, an architecture of the software product for modeling various mass service systems using parallel computing and the concurrency approach under the implementation in the Go programming language was proposed.

Author Biography

Denys Goldiner, Kharkiv National University of Radio Electronics

National University of Radioelectronics, Kharkiv, Ukraine, Graduate student, Kharkiv, Ukraine

References

Conery R., Hanselman S., Haack P., Guthrie S. Microsoft Application Architecture Guide, 2nd Edition: Designing Applications on the .NET Platform. Microsoft Press, 2009. 560 p.

Kirkhar N. V. Zastosuvannia tekhnolohii arkhitekturnoho proektuvannia prohramnoho zabezpechennia [Application of software architectural design technology]. Problemy informatyzatsii ta upravlinnia [Problems of informatization and management] 2019, vol. 1, no. 64, pp. 50–56. DOI: https://doi.org/10.18372/2073-4751.61.14038 (In Ukr.)

Forkun Yu., Martyniuk V., Yashyna O. Metod rozrobky ta proektuvannia arkhitekturnoi skladovoi prohramnoho zastosunku [The method of development and design of the architectural component of the software application]. Vymiriuvalna ta obchysliuvalna tekhnika v tekhnolohichnykh protsesakh [Measuring and computing equipment in technological processes]. 2023, no. 4, pp. 87–93. DOI: https://doi.org/10.31891/2219-9365-2023-76-11 (In Ukr.)

Gnedenko B. V., Kovalenko I. N. Vvedenie v teoriyu massovogo obsluzhivaniya [Introduction to Queuing Theory]. Moskva, Nauka, 1987. 336 p. (In Russ.)

Lytvynov A. L. Teoriia system masovoho obsluhovuvannia [Queuing Theory System]. Kharkiv, KhNUMH im. O. M. Beketova, 2018. 141 p. (In Ukr.)

Morozov A., Vakaliuk T., Kubrak Yu., Zosimovych D. Analiz faktoriv vplyvu na arkhitektury prohramnykh system [Analysis of influencing factors on the architecture of software systems]. Information Technology: Computer Science, Software Engineering and Cyber Security. 2022, no. 1, pp. 44–52. DOI: https://doi.org/10.32782/IT/2022-1-7 (In Ukr.)

System Architecture. URL: https://rubygarage.org/blog/monolith-soa-microservices-serverless (accessed 03.03.2024).

Donovan A. A. A., Kernighan B. W. The Go programming language. New York, Addison-Wesley Professional, 2015. 400 p.

Lisniak A. O., Myltsev O. M., Mukhin V. V., Choporova O. V. Arkhitektura ta proektuvannia prohramnoho zabezpechennia: metod. rek-tsii do lab. zan. dlia zdobuvachiv stup. vyshch. osv. bakalavra spets. 121 "Inzheneriia prohramnoho zabezpechennia" osv.-prof. prohr."Prohramna inzheneriia" [Software architecture and design: methodical recommendations for laboratory classes for higher education bachelor degree holders, specialty 121 "Software engineering" of the educational and professional program "Software engineering"]. Zaporizhzhia: ZNU, 2022. 53 p. URL: https://dspace.znu.edu.ua/xmlui/handle/12345/11642 (accessed 01.04.2024). (In Ukr.)

Castro Contreras M. Go Design Patterns. Birmingham, Packt, 2017. 402 p.

Hoare C. A. R. Communicating sequential processes. New Jersey, Prentice Hall, 1985. 235 p. DOI: https://doi.org/10.1145/359576.359585

Cox-Buday K. Concurrency in Go: Tools and Techniques for Developers 1st Edition. Sebastopol, O’reilly Media, 2017. 236 p.

Hoare C. A. R. Communicating sequential processes. Communications of the ACM. 1978, vol. 21, no. 8, pp. 666–677. DOI: https://doi.org/10.1145/359576.359585.

Published

2024-07-30

How to Cite

Goldiner, D. (2024). SOFTWARE ARCHITECTURE SYSTEM DESIGN FOR THE MASS SERVICE SYSTEMS MODELING TO BE IMPLEMENTED IN GO PROGRAMMING LANGUAGE. Bulletin of National Technical University "KhPI". Series: System Analysis, Control and Information Technologies, (1 (11), 85–90. https://doi.org/10.20998/2079-0023.2024.01.14

Issue

Section

INFORMATION TECHNOLOGY