<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A high-load architecture for image processing based on microservices⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oleh Pitsun</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Myroslav Shymchuk</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>West Ukrainian National University</institution>
          ,
          <addr-line>11 Lvivska st., Ternopil, 46001</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <abstract>
        <p>The use of artificial intelligence tools for image analysis and research is a relevant and important task, in particular in medicine. The disadvantage of existing systems is their "heaviness", since the use of artificial intelligence requires significant hardware and software resources. The availability of a large number of libraries and frameworks for data processing and machine learning requires a large amount of computation. In this case, the use of cloud technologies facilitates the adaptive use of many technologies to solve various tasks. The development of high-performance architectures is a pressing task, especially in the field of image processing. The use of monolithic architecture is an insufficient approach and requires new solutions, in particular microservice architecture, which allows improving the performance and reliability of the system. In this paper, a microservice architecture is proposed for image processing with elements of high system loads. Comparative analysis demonstrates the presence of a larger amount of functionality for processing highly loaded systems.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;CNN</kwd>
        <kwd>high-load architecture</kwd>
        <kwd>images</kwd>
        <kwd>microservises 1</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>In today's rapidly growing data volume and the popularity of intelligent systems, the development
of architectures for high-load software solutions is becoming particularly relevant. This is
especially critical for applications working with machine learning and image processing, which are
characterized by large amounts of calculations, a significant number of simultaneous users, high
frequency of requests and the need for scalability. This situation requires the implementation of
reliable, modular and elastic architectures that can support both online real-time query processing
and offline analytics of large data sets. In particular, microservice architecture and distributed
processing approaches are increasingly becoming the basis for building productive and supported
ML solutions in the field of computer vision, telemedicine, autonomous systems and more.
Traditional monolithic approaches, despite their initial effectiveness, have proven to be poorly
suited for scaling and support in high-load environments. This is especially relevant in the context
of systems that process large amounts of input data in real time, in particular in the fields of
artificial intelligence, machine learning, image processing, telemedicine, autonomous systems.</p>
      <p>The emergence of the concepts of Big Data, distributed computing, cloud computing
environments and microservice architecture has become a response to the need for flexible,
faulttolerant and scalable solutions. Such architectures allow you to optimize resources, ensure
horizontal scaling of individual components, reduce the time for deployment and updating services,
as well as improve the overall reliability and performance of systems.</p>
      <p>Microservice architecture has a number of advantages over monolithic, in particular in
conditions of high loads, the need for scaling and frequent system updates. Microservices allow you
to scale individual components independently of each other, which allows for optimal use of
resources. Updating individual microservices does not require a complete restart of the system.
This reduces risks and speeds up the release cycle. A monolith requires a complete recompilation
and redeployment of the entire system for each change. Microservices allow for independent
CI/CD pipelines for each service, which improves automation and control.</p>
      <p>The relevance of researching high-load architectures is due not only to the technical complexity of
modern applications, but also to the need to maintain their scalability, elasticity, and high
availability in the face of increasing computational and service loads.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Problem statements</title>
      <p>The following tasks are set in this work:
1. to make a comparative analysis of architectures for the implementation of high-load
software tools;
2. to consider the main components of the high-load architecture for the further design of an
improved architecture with high-growth of artificial intelligence elements;
3. to implement the proposed high-load architecture for working with images based on
artificial intelligence elements.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Literature review</title>
      <p>The paper proposes an architectural solution for reducing the load in high-performance networks
by dynamically distributing requests based on the current system state and time synchronization
using the Marzullo algorithm. The implemented mechanisms reduce the computation time
polynomially and provide effective resource management in a distributed environment [5]. The
article discusses key challenges and effective solutions for designing high-load software systems, in
particular through scaling microservice architecture, distributed data storage, caching and load
balancing. The author proposes a generalized architectural model that provides high availability,
low latency and fault tolerance through automation, asynchronous processing, monitoring and
testing, adapted to different technology stacks [6].</p>
      <p>The article analyzes ways to optimize microservice architecture under high load conditions by
combining modern technologies such as containerization (Docker), orchestration (Kubernetes),
architectural patterns (CQRS, Event Sourcing), caching (Redis) and fault tolerance mechanisms
(Circuit Breaker, Bulkhead). The conducted testing confirmed the effectiveness of the approach:
with 5000 simultaneous users, the average response time was 450–500 ms with a minimum number
of errors (&lt;0.5%), which indicates the significant potential of the proposed model for creating
scalable and reliable distributed systems[7]. The article presents an automatic load balancing
architecture (ALBRL) for software-defined networks (SDN), which is based on an advanced deep
reinforcement learning algorithm (DDPG). The proposed solution effectively solves the problems of
slow convergence and uneven traffic distribution, improving network throughput and accelerating
learning due to the optimized experience sampling mechanism based on the SumTree structure [8].</p>
      <p>In the article [9], the feasibility of using microservice architecture for developing high-load,
fault-tolerant software solutions is substantiated using the example of the MedicinePlanner
medication reminder system. An approach to implementing client-server interaction using .NET,
gRPC, Angular and containerization is presented, which provides scalability, component isolation,
automatic deployment to Azure and increased fault tolerance, unlike monolithic architecture. In
the paper [10], an approach to implementing Operational Intelligence using mathematical
modeling and machine learning for monitoring, load forecasting and increasing the reliability of
high-load IT systems is proposed. A transaction analysis model in a Big Data environment is
presented, which ensures error detection before user interaction, as well as an algorithm for
implementing a monitoring system for projects focused on processing large amounts of data.</p>
      <p>The proposed engineering framework combines Model-Driven Development (MDD) techniques
with scalability principles, contributing to the creation of flexible, modular and reusable
educational platforms. Particular attention is paid to the use of adaptive algorithms, cloud
technologies and the implementation of a learning content management system (LCMS), which
allows dynamically adjusting educational routes to individual student needs. The prototype of the
system, tested under variable load conditions, demonstrated improved performance, scalability and
user engagement compared to traditional e-learning solutions [11].</p>
      <p>The paper [12] discusses the challenges associated with processing heterogeneous and
explosively growing medical data in the era of 5G and the development of the Internet of Medical
Things (IoMT). The authors reviewed the integration of cloud and edge computing with artificial
intelligence technologies to ensure timely processing of medical big data, increase the efficiency of
medical resource use and guarantee the security and confidentiality of personal data. Particular
attention is paid to the potential of edge–cloud architectures in the context of providing
highquality medical services, and promising areas of further research in the field of secure, scalable and
intelligent IoMT infrastructure are outlined. In [13], an approach to developing a highly loaded and
fault-tolerant medication reminder software – the MedicinePlanner system – is presented. The
main architectural basis is a microservice approach that provides scalability, error isolation and
ease of maintenance. The server part is implemented using .NET and gRPC, the client part is
implemented using Angular with a modular structure. In [14], the impact of serverless computing
and microservice architecture on the transformation of cloud platforms is considered, which allows
creating scalable, cost-effective and flexible solutions with an emphasis on business logic instead of
infrastructure management. Integrating event-driven patterns with serverless models improves the
resilience, scalability, and operational efficiency of systems by providing independent scaling,
resource management automation, and high availability in enterprise environments. In [15], we
propose an adaptive AI-based skin cancer classification framework that combines microservice
architecture, Kubernetes orchestration, and event-driven architecture (EDA) using Google Cloud
Pub/Sub. The framework provides real-time processing with high accuracy (97%), throughput (1000
queries/s), and reliability (99.99% availability), allowing for efficient integration of AI models into
clinical workflows for early diagnosis and monitoring of skin cancer.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Hight-load architecture components</title>
      <p>High-performance architecture components can be classified according to several key criteria that
reflect functional purpose, level of responsibility, type of load, method of scaling, and interaction
between them.</p>
      <p>API gateways act as a central entry point for external and internal clients. They are responsible
for routing requests, load balancing, authentication, authorization, response aggregation, and
format transformation. In high-load systems, an API gateway often acts as the first layer of
protection and optimization, allowing centralized management of the flow of requests.</p>
      <p>Databases and other information storage are critical for high-load systems. They provide
storage of structured (SQL, relational) or unstructured (NoSQL, object) data.</p>
      <p>Message queuing systems allow for asynchronous communication between services, which
significantly reduces component interdependencies and increases fault tolerance. Such components
provide data buffering, delivery delay, delivery guarantees, and event prioritization.</p>
      <p>Load balancers evenly distribute incoming requests between microservice or server instances.
In high-availability systems, these components provide automatic traffic redirection in the event of
a node failure, and also support health-check mechanisms. Both software (HAProxy, Traefik) and
hardware solutions are used.</p>
      <p>Caching mechanisms significantly reduce the load on the main data sources and reduce
response time. Caches can be implemented as in-memory storage (for example, Redis or
Memcached) and used to store query results, user sessions or configurations. In complex
architectures, hierarchical or distributed caching with TTL policies and eviction can be used.</p>
      <p>Monitoring and logging components are responsible for monitoring the system status, query
tracing, performance analysis and anomaly detection. Such systems use metrics (Prometheus),
centralized event logs (ELK-stack, Loki), dashboards (Grafana) and tracing systems (Jaeger, Zipkin).</p>
      <p>Service lifecycle management in distributed architectures is implemented using
containerization (Docker) and orchestrators (Kubernetes). These tools provide automatic
deployment, scaling, updates, disaster recovery, and load balancing between instances. In high-load
systems, support for rolling updates, blue-green deployment, and CI/CD pipelines is also
important, which allows for rapid implementation of changes without compromising system
stability.</p>
      <p>A comparative analysis of high-load architecture components by request processing method is
given in Table 1.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Architectural approaches for high-load systems</title>
      <p>To implement high-performance architectures in machine learning (ML) and image analysis
software, a number of architectural approaches are used to ensure scalability, performance, fault
tolerance, and flexibility.</p>
      <p>The distribution of architectures for developing systems based on high-performance is shown in
Figure 2.</p>
      <sec id="sec-5-1">
        <title>The comparative analysis is presented in Table 2.</title>
        <p>Each of these approaches is distinguished by a certain set of characteristics, in particular, the level
of distribution, scalability flexibility, monitoring complexity and DevOps integration. For example,
the microservice architecture provides independent scaling of components, which is especially
useful for tasks with a high load on individual stages of the ML pipeline. In turn, the streaming
architecture is more effective for real-time systems, in particular for video analytics or surgical
monitoring. Of particular note is the hybrid (Edge + Cloud) model, which allows you to transfer
part of the calculations to peripheral devices, which reduces latency and reduces the requirements
for the data transmission channel. At the same time, architectures with an emphasis on MLOps
provide automation of the entire model life cycle - from training to monitoring in a productive
environment, which is critical for maintaining the quality of models in conditions of dynamic data.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Framework’s examples</title>
      <p>
        Large-Scale Intelligent Microservices This is a framework using Apache Spark to orchestrate
intelligent microservices: image classification, text analysis, anomalies, search. The system runs on
hundreds of machines, combining the capabilities of Spark distribution with a low-latency
containerized API. It is designed to integrate ML services directly with databases, with minimal
overhead [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Keralty covers infrastructure from dozens of data sources and implements Big-Data
architecture and machine learning with batch and real-time modes. Components based on big-data
storage (, scalable warehouse, real and batch layers, plus an inference layer and services via
microservices with open APIs[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Smartly.io is a system for processing hundreds of images per
second via HTTP requests (for advertising banners). Key approaches: caching of originals and
results, distribution of tasks to worker services without a single node of failure, automatic scaling
of GPU/CPU components according to load [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Simpliroute is characterized by the presence of an
ETL pipeline on Google BigQuery + Dataproc, Kubeflow, MLFlow, Spark + XGBoost. Data is
orchestrated via Pub/Sub, BigQuery, and large-scale pipelines with batch processing and retraining
models [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. All these systems demonstrate classic architectural patterns of high-load ML systems:
distribution, asynchrony, containerization, ML service orientation, ETL integration, stream/batch,
and infrastructure automation.
      </p>
    </sec>
    <sec id="sec-7">
      <title>7. Proposed architecture</title>
      <p>The proposed system is developed based on microservice architecture, characterized by mobility,
scalability and wide functionality with the possibility of using cloud services. The algorithm of
work is as follows:
1. loading and deploying docker containers;
2. the frontend part is implemented using standard tools and vue.js technology to implement
reactive interaction with the server and increase functionality for users;
3. API Gateway is implemented as a separate service and is designed to provide routing;
4. the backend component is implemented as a laravel framework and in combination with
the mysql database. This functionality is designed to process information about research
and joint interaction over records;
5. the service for managing tools for training neural, convolutional, Unet, recurrent, graph is
used for training and implementing artificial intelligence tools. The separation of this block
from the monolith will make the system “lighter” and open to expansion;
6. the image processing service requires separate software, in particular the OpenCV library,
therefore it is implemented as a separate microservice. The task of the block is to process
images, in particular, improve quality, calculate quantitative characteristics;
Visually, the architecture is shown in Figure 3.</p>
    </sec>
    <sec id="sec-8">
      <title>8. Results</title>
      <p>A comparative analysis of the developed architecture with analogues is given in Table 3. Software
tools that perform similar functions in biomedical image processing were selected as analogues.
A prototype web page for segmentation using unet is shown in the figure4.</p>
      <p>Image preprocessing</p>
      <sec id="sec-8-1">
        <title>Image segmentation</title>
      </sec>
      <sec id="sec-8-2">
        <title>Microservice architecture</title>
      </sec>
      <sec id="sec-8-3">
        <title>Load balancing CI/CD</title>
      </sec>
      <sec id="sec-8-4">
        <title>Grafana/prometheus</title>
      </sec>
      <sec id="sec-8-5">
        <title>HIAM S</title>
        <p>+
+
+
+
+
+</p>
        <p>Leicabio
systems
+
+
+
+
+
+
+</p>
        <p>Existing systems HIAMS, ImageJ, Epredia, Leicabiosystems provide basic image processing and
segmentation functions, but do not support modern approaches to scalability and monitoring. The
proposed system, in contrast, is supplemented with load balancing capabilities, CI/CD, and
integration with Grafana/Prometheus, which makes it more flexible, scalable, and suitable for
industrial use.</p>
        <p>The proposed interface consists of the following elements:
1. side menu;
2. main dashboard;
3. reference information about the conducted studies, including data on the number of
patients;
4. messages, study results, etc.;
5. original histological, cytological or immunohistochemical image;
6. result of segmentation using Unet tools;
7. table with a list of studied files.</p>
        <p>The main purpose of MLOps is to ensure the complete and continuous lifecycle of machine
learning models — from development and training to deployment, monitoring, and updates in a
production environment.</p>
        <p>MLOps [16,17] allows you to turn experimental ML developments into stable and efficient
services.</p>
        <p>Analyzing the data in Table 1, we can conclude that the proposed approach to developing
architecture based on microservice architecture allows us to implement a complex system based
on machine learning with maximum consideration of high system load.</p>
        <p>Figure 5 shows a comparative analysis of the deployment time of different types of software for
processing deep learning on a cloud DigitalOcean service.</p>
        <p>The analysis shows that the software deployment time using continuous code delivery for
software with deep learning elements is higher than for traditional web applications. The longest
integration time was taken by the process of deploying software for custom models with many
datasets, which confirms the uniqueness of developing tools for implementing deep learning in the
cloud.</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>Conclusions</title>
      <p>In this work, the following was implemented:
1. based on an analytical approach, a comparative analysis of architectures for the
implementation of high-load software tools was conducted, which allowed us to identify
modern approaches to the implementation of high-load systems;
2. the main components of the high-load architecture were considered for the further design
of an improved architecture using artificial intelligence elements;
3. a high-load architecture for working with images was implemented programmatically
based on artificial intelligence elements and using a microservice approach to improve the
quality and stability of the system.</p>
    </sec>
    <sec id="sec-10">
      <title>Declaration on Generative AI</title>
      <sec id="sec-10-1">
        <title>The authors have not employed any Generative AI tools.</title>
        <p>[5] Kryvenchuk, Y., Mykalov, P., Novytskyi, Y., Zakharchuk, M., Malynovskyy, Y., Řepka, M.
(2020). Analysis of the Architecture of Distributed Systems for the Reduction of Loading
HighLoad Networks. In: Shakhovska, N., Medykovskyy, M.O. (eds) Advances in Intelligent Systems
and Computing IV. CSIT 2019. Advances in Intelligent Systems and Computing, vol 1080.</p>
        <p>Springer, Cham. https://doi.org/10.1007/978-3-030-33695-0_50
[6] Volodymyr Kozub. (2025). Problems and Solutions in Building Highly Loaded Software. The
American Journal of Engineering and Technology, 7(03), 230–236.
https://doi.org/10.37547/tajet/Volume07Issue03-20
[7] Artem Iurchenko. (2025). Optimization of Microservices Architecture Performance in
HighLoad Systems. The American Journal of Engineering and Technology, 7(05), 123–132.
https://doi.org/10.37547/tajet/Volume07Issue05-10
[8] Chen, Junyan, Yong Wang, Jiangtao Ou, Chengyuan Fan, Xiaoye Lu, Cenhuishan Liao,
Xuefeng Huang, and Hongmei Zhang. "ALBRL: Automatic Load‐Balancing Architecture Based
on Reinforcement Learning in Software‐Defined Networking." Wireless Communications and
Mobile Computing 2022, no. 1 (2022): doi: 3866143.
[9] V. Kornuta, E. Sobotnyk, I. -M. Katamai and Y. Katamai, "Using Microservice Architecture for
High-Load Information Systems on the Example of MedicinePlanner Service," 2022 12th
International Conference on Advanced Computer Information Technologies (ACIT),
Ruzomberok, Slovakia, 2022, pp. 437-442, doi: 10.1109/ACIT54803.2022.9913185.
[10] S. Fedushko, T. Ustyianovych, and M. Gregus. 2020. "Real-Time High-Load Infrastructure
Transaction Status Output Prediction Using Operational Intelligence and Big Data
Technologies" Electronics 9, no. 4: 668. https://doi.org/10.3390/electronics9040668
[11] Sutarman, A., Williams, J., Wilson, D., &amp; Ismail, F. B. (2024). A Model-Driven Approach to
Developing Scalable Educational Software for Adaptive Learning Environments. International
Transactions on Education Technology (ITEE), 3(1), 9–16. https://doi.org/10.33050/itee.v3i1.663
[12] L. Sun, X. Jiang, H. Ren and Y. Guo, "Edge-Cloud Computing and Artificial Intelligence in
Internet of Medical Things: Architecture, Technology and Application," in IEEE Access, vol. 8,
pp. 101079-101092, 2020, doi: 10.1109/ACCESS.2020.2997831.
[13] V. Kornuta, E. Sobotnyk, I. -M. Katamai and Y. Katamai, "Using Microservice Architecture for
High-Load Information Systems on the Example of MedicinePlanner Service," 2022 12th
International Conference on Advanced Computer Information Technologies (ACIT),
Ruzomberok, Slovakia, 2022, pp. 437-442, doi: 10.1109/ACIT54803.2022.9913185.
[14] D. Kalita. Embracing serverless microservices: A decoupled, scalable, and event-driven
evolution in cloud architecture. World Journal of Advanced Research and Reviews, 2025,
27(01), 902-915. doi: https://doi.org/10.30574/wjarr.2025.27.1.2470.
[15] M. Elmeligy, A. Ezzat, M. Mobtasem, S. Moustafa and M. S. Darweesh, "An Efficient Hybrid
Infrastructure for AI Healthcare System: Skin Cancer Classification," 2024 12th International
Japan-Africa Conference on Electronics, Communications, and Computations (JAC-ECC),
Alexandria, Egypt, 2024, pp. 150-155, doi: 10.1109/JAC-ECC64419.2024.11061241.
[16] O. Berezsky, O. Pitsun, G. Melnyk, B. Derysh, P. Liashchynsky. Application Of MLOps
Practices For Biomedical Image Classification - Ceur Workshop Proceedings, 2022, 3302, pp.
69–77 https://ceur-ws.org/Vol-3302/short3.pdf
[17] O. Berezsky, O. Pitsun, G. Melnyk, H. Poperechna, Microservices-based architecture for
biomedical image processing software - Ceur Workshop Proceedings, 2024, 3892, pp. 73–80
https://ceur-ws.org/Vol-3892/short1.pdf</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hamilton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Gonsalves</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Raman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Walsh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Prasad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Banda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , L. Zhang, and
          <string-name>
            <given-names>W.</given-names>
            <surname>Freeman</surname>
          </string-name>
          .
          <article-title>"Large-scale intelligent microservices."</article-title>
          <source>In 2020 IEEE International Conference on Big Data (Big Data)</source>
          , pp.
          <fpage>298</fpage>
          -
          <lpage>309</lpage>
          . IEEE,
          <year>2020</year>
          . https://arxiv.org/pdf/
          <year>2009</year>
          .08044
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F.</given-names>
            <surname>López-Martínez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Núñez-Valdez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>García-Díaz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Bursac</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>"A Case Study for a Big Data and Machine Learning Platform to Improve Medical Decision Support in Population Health Management" Algorithms 13</article-title>
          , no.
          <volume>4</volume>
          : 102. https://doi.org/10.3390/a13040102
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Auvinen</surname>
          </string-name>
          <article-title>"Identifying relevant metrics as performance indicators in a B2B SaaS company:</article-title>
          <source>Case Smartly. io."</source>
          (
          <year>2017</year>
          ). https://aaltodoc.aalto.fi/items/bb5a38bf-051c
          <string-name>
            <surname>-</surname>
          </string-name>
          4e69
          <string-name>
            <surname>-</surname>
          </string-name>
          bf68-69d87ea73a2c
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Atoum</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          (
          <year>2023</year>
          ).
          <article-title>Measurement of key performance indicators of user experience based on software requirements</article-title>
          .
          <source>Science of Computer Programming</source>
          ,
          <volume>226</volume>
          , 102929.https://doi.org/10.1016/j.scico.
          <year>2023</year>
          .102929
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>