<!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>Agents in Software Development Architectures</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marco Loaiza</string-name>
          <email>m.loaiza@dimes.unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claudio Savaglio</string-name>
          <email>csavaglio@dimes.unical.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Niaz Hussain Arijo</string-name>
          <email>niaz.arijo@dimes.unical.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gianluca Aloi</string-name>
          <email>gianluca.aloi@unical.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giancarlo Fortino</string-name>
          <email>g.fortino@unical.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rafaele Gravina</string-name>
          <email>r.gravina@dimes.unical.it</email>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Informatics, Modeling, Electronics and Systems engineering (DIMES), University of Calabria</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Over the last few decades, information technologies in the field of computing systems and software architectures have evolved to provide companies with robust solutions to run their business logic. The transition from monolithic applications to Service-Oriented Architecture (SOA) and micro-services represents a fundamental shift in the way companies design, build, and deploy their software. This evolution has been driven by the need for greater scalability, flexibility, and agility in response to the dynamic and demanding landscape of modern application requirements. As software development continues to evolve, the incorporation of intelligent agents has become widespread to provide smartness within distributed system as well as to design and manage complex scenarios, such as the device-edgecloud continuum and IoT ecosystems. This paper explores the role of intelligent agents within SOA and micro-services architectures, highlighting the spectrum of benefits and limitations they bring to the development life cycle. We also discuss challenges common to both architectures and identify solutions that each architecture provides with respect to the other. Finally, to overcome some of these challenges, a new approach, stemmed in the context of the EU funded MLSysOps Project, is presented; the proposed approach utilizes agents and Machine Learning (ML) as-a-service to provide inbound and outbound intelligence in the system.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;device-edge-cloud continuum</kwd>
        <kwd>multi agent systems</kwd>
        <kwd>microservices</kwd>
        <kwd>MLSysOps</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        In recent decades, the advancement of technology and software architectures has increased
the complexity of computing environments to a degree that exceeds the manageable limits for
human system administrators. Initially, with monolithic applications, companies consolidated
data, databases, and business logic on the same host by running their applications as a single,
unified entity. In this approach, all components, including the user interface, business logic,
and database access, are tightly integrated into a unified code-base that encompassed various
services [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The described architecture faces challenges in scalability, flexibility, and adaptability.
Scaling monolithic applications is a proven challenge due to the aggregation of popular and
lessused services, leading to ineficient resource usage. Collaboration among multiple developers on
a shared code-base complicates the development, and deploying new versions requires restarting
the system as a whole, potentially impacting user experience. Additionally, the architecture
lacks flexibility in modifying features and reusing components across applications, and its
limited error tolerance means a single component error can cause system-wide failures.
      </p>
      <p>
        Service Oriented Architecture (SOA) was proposed to solve this challenges and also to
provide integration between solutions for distributed services across diferent organizations and
operational systems aiming for the reusability of a service by multiple end user applications. It
relies on simple Remote Procedure Calls (RPC), such as SOAP (Simple Object Access Protocol),
commonly used for communication. Since the advent of this software architecture,
computing environments have evolved into open and distributed systems. The typical enterprise
environment is now a complex, heterogeneous, multi-vendor landscape, posing challenges in
configuration, maintenance, and troubleshooting [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        Micro-services architecture emerged as the next evolutionary step beyond SOA, with
lightweight communication channels, prioritizing simplicity in inter-service interactions. This
architectural approach directs intelligence and control to individual service endpoints, thus
enhancing the decoupling between services, addressing issues of scalability and adaptability
in the face of rapidly changing technological landscapes. In this intricate scenario of
technological progress, the trajectory from monolithic applications to SOA and, subsequently, to
micro-services architecture reflects an ongoing quest for solutions that aligns with the dynamic
nature of contemporary computing environments [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>Until this end, agent-based computing (ABC) is one of the well-known paradigms that
proposes an improved structuring mechanism for distributed applications. ABC is characterized
by autonomous, intelligent entities capable of migrating across distributed systems; it ofers
a promising avenue for addressing the escalating complexities in modern computing. In
conjunction with SOA and micro-services, ABC contribute to a holistic approach that transcends
traditional boundaries. The seamless integration of software agents with SOA enables the
creation of agile, distributed services that can be leveraged across diverse organizations and
operational systems. Moreover, when juxtaposed with micro-services architecture, ABC
contributes to the ongoing quest for enhanced scalability, adaptability, and intelligence at the
service endpoints. This triad of agents, SOA, and micro-services represents a forward-looking
strategy, ofering a robust response to the intricate challenges posed by today’s multifaceted
computing landscape.</p>
      <p>
        Various studies in the field have undertaken the task of comparing mobile agents with
SOA and micro-service architectures, attempting to discern their individual strengths and
weaknesses [
        <xref ref-type="bibr" rid="ref4 ref5 ref6">4, 5, 6</xref>
        ]. However, out of these comparative analyses, a growing body of research
emphasizes the potential synergies that emerge when these paradigms are combined. In this
paper, we delve into the interaction between software agents, SOA, and micro-services, with
the aim of analyzing and highlighting the benefits and limitations associated with choosing
one over the other, ultimately selecting the most fitting option for IoT applications in the
Device-Edge-Cloud (DEC) continuum.
      </p>
      <p>The remainder of the paper is structured as follows: Section 2 describes the background,
providing an introduction to the key features of the technologies and paradigm involved. Section
3 ofers an overview of the state of the art, including an analysis of the benefits and limitations
of utilizing agents within both SOA and micro services architectures. The MLSysOps approach
and its possible contributions to the open limitations is presented in Section 4. Final remarks
conclude the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background</title>
      <p>This section introduces key concepts related to SOA and micro-services architectures.</p>
      <sec id="sec-2-1">
        <title>2.1. Service Oriented Architecture</title>
        <p>SOA emerged as a response to challenges posed by large monolithic applications, aiming to
enhance service re-usability across multiple end-user applications and representing an evolution
from the conventional Client-Server model in distributed systems.</p>
        <p>Web</p>
        <p>Mobile</p>
        <p>App
Messaging
Security</p>
        <p>ENTERPRISE
SERVICE BUS
(ESB)</p>
        <p>Transport</p>
        <p>Transform
Srv</p>
        <p>Srv</p>
        <p>Data Base</p>
        <p>
          SOA promotes loosely coupled, reusable, and dynamically assembled services, providing
explicit boundaries between autonomous services on diferent servers to meet application
requirements and address the limitations of monolithic applications. A common scenario
involves clients requesting services through various user interfaces, with the Enterprise Service
Bus (ESB) handling the requests. The ESB, designed to seamlessly connect services directly
with end-users and render the physical network transparent to applications, incorporates some
service functions to link widely located services with the end user, as illustrated in Figure
1. It translates end-user requests into suitable message types for each service, fostering their
re-usability across diferent organizations for numerous customers [
          <xref ref-type="bibr" rid="ref2 ref5">2, 5</xref>
          ].
        </p>
        <p>In the software industry, SOA has gained substantial popularity for developing distributed
enterprise-wide applications, emphasizing software re-usability and integrity in diverse
environments through open standards. Companies often leverage SOA by discovering and combining
internet-available services. Alternatively, some organizations prefer internal control, creating
new services tailored to their specific environments with quality-attribute properties.</p>
        <p>SOA facilitates integration solutions for distributed services across various organizations
and operational systems, relying on straightforward RPC like SOAP for communication. It
emphasizes the use of services across the web, aligning with the trend of distributed and
interconnected systems.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Microservices</title>
        <p>
          In today’s digital landscape, users expect a dynamic user experience across diverse devices,
requiring frequent service updates. To meet this demand, the architectural trend emphasizes
breaking applications into smaller, independent services. This approach is often compared to
SOA, critiquing its centralized integration approach. Micro-services are viewed as an alternative,
diverging from SOA by eliminating a service bus, focusing on simple communication channels,
and enhancing service decoupling [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. Microservices, operating as independent or subdivided
components, break down substantial services into manageable elements as shown in Figure 2.
        </p>
        <p>UI
uS</p>
        <p>uS
uS
uS</p>
        <p>uS
Data Base</p>
        <p>Data Base</p>
        <p>Data Base</p>
        <p>
          Each microservice, capable of at least one functional operation, promotes independence
and reusability. Breaking databases into smaller ones benefits specific customer types,
distributing the load and allowing shared databases to operate as services. Despite numerous
benefits like technology diversity and scalability, microservices pose challenges in distributed
settings, complicating tasks like service discovery, security and resource management, as well
as communication optimization. Microservices architecture, characterized by small,
independent services running in separate processes, originated with the goal of deploying software
parts independently. These autonomous components isolate fine-grained business capabilities,
communicating via standardized interfaces and lightweight protocols. While ofering benefits
in scalability and productivity, microservices require careful consideration due to distributed
complexities[
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>Understanding microservices in practice is crucial, revealing motivating advantages and
critical challenges. This insight support decision-making for system migration or developing
applications under this architecture. Overall, the approach enhances software maintainability
but demands thoughtful consideration of its challenges.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Agents and (Micro)Services: benefits and limitations</title>
      <p>
        Agent-based Computing (ABC) has been recognized as a comprehensive and efective enabler for
cooperating within decentralized, dynamic, and open IoT ecosystems [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In particular, software
agents represent an elegant programming paradigm that emerged in parallel the client-server
model, ofering an enhanced structuring mechanism for distributed applications. Essentially,
an agent can augment the functionalities of a service or microservice, thereby maximizing
robustness and performance within the system. In contrast, the introduction of the agent and
its abstractions intrinsically brings other issues, complexity and overhead.
      </p>
      <p>To delve further into this efectiveness, it is essential to examine the combination of agents
with both SOA and microservices. Such explorations contribute to a deeper understanding of
how these paradigms can be combined to optimize various aspects of system architecture and
performance.</p>
      <p>
        The following are some of the benefits found in the literature review of using agents with
both architectures:
• Agents in both SOA and microservices exhibit increased flexibility, autonomy, and
collaboration capabilities. In SOA, agents excel in making dynamic run time changes
based on internal rules, enhancing robustness. In microservices, agents enable adaptive
responses to change environments, contributing to improved scalability and flexibility in
system design. They eficiently distribute workloads and handle complex tasks, enhancing
overall performance and resource utilization [
        <xref ref-type="bibr" rid="ref10 ref2 ref4 ref5 ref6 ref8 ref9">2, 4, 5, 6, 8, 9, 10</xref>
        ].
• The integration of SOA and MAS create the synergy to enhance self-properties in
distributed assembly systems, allowing agents to transcend research and function as
application components. This fusion facilitates seamless integration, automates processes, can
optimizes power consumption through negotiation, and promotes semantic
interoperability. In microservices, agents enhance collaboration, modularity, and scalability,
improving overall system performance and reliability [
        <xref ref-type="bibr" rid="ref11 ref4 ref5 ref6 ref8 ref9">4, 5, 6, 11, 12, 8, 13, 9, 14, 15</xref>
        ].
• Agents also support the management and optimization of distributed energy resources,
load balancing, and markets. Their ability to distribute processing tasks enhances
scalability and resource utilization in diverse contexts. Furthermore, agents, by
perceiving and responding to changes promptly, improve system responsiveness. In cloud
applications, agents provide an intelligent and autonomous approach to managing and
scaling the available resources, e.g. using Reinforcement Learning [
        <xref ref-type="bibr" rid="ref10 ref2 ref5">2, 5, 12, 16, 10</xref>
        ].
• Agents serve a versatile role in negotiating service-level agreements (SLA’s) across
enterprise boundaries, encompassing quality specifications for both infrastructure and
application. The robust support of SOA frameworks enhances the quality of agent
systems. Agents contribute to performance optimization by executing tasks locally,
minimizing the reliance on network bandwidth and resulting in faster response times. In
the realm of microservices, agents play a key role in learning resource usage behavior
and determining optimal auto scaling metrics for Quality of Service (QoS), thereby
reducing the need for specialized knowledge and streamlining maintenance eforts in
application resource management [
        <xref ref-type="bibr" rid="ref10 ref11 ref2 ref5">2, 5, 11, 10</xref>
        ].
• Agents, with capabilities spanning knowledge, reasoning, planning, scheduling,
and inter-agent communication, are highly relevant for autonomic computing within
SOA. In SOA, agents bring intelligence to web services, fostering interoperability among
systems and components. Their ability to execute tasks locally reduces the demand for
network bandwidth, leading to improved response times and overall performance. In a
microservice architecture, agents play a crucial role in managing and interacting with
distributed systems in a loosely coupled manner, fostering independence and replicability
among system components [
        <xref ref-type="bibr" rid="ref11 ref2 ref6">2, 6, 11, 12, 16, 15</xref>
        ].
• Agents play a pivotal role in various domains, enabling the autonomous operation of
systems. In conjunction with microservices, agents contribute with intelligent and
autonomous behavior, enhancing overall system functionality and decision-making
processes. Their autonomy in SOA allows independent action and decision-making
beyond predefined behavior or contracts. Agents improve fault tolerance and resilience in
microservices by autonomously detecting and recovering from failures, thereby
minimizing system disruptions. Additionally, agents facilitate the integration of heterogeneous
systems and microservices, acting as intermediaries to translate and mediate between
diferent protocols, data formats, and interfaces. They support the implementation of
intelligent and personalized services by learning from user interactions and preferences,
providing tailored recommendations and proactive assistance [
        <xref ref-type="bibr" rid="ref10 ref11 ref2 ref4 ref6 ref8">2, 4, 6, 10, 11, 12, 8, 13, 14</xref>
        ].
      </p>
      <p>
        On the other hand some limitations found of combining agents and SOA are grouped as
follows:
• Resource-intensive agent operations in diverse architectures, including SOA, present
challenges to overall system performance and scalability. The computational
demands and memory requirements of agents, along with potential coordination overhead
as the number of agents increases, can impact scalability. Coordinating agent behavior
within any architecture, particularly in expansive systems, poses inherent challenges.
Additionally, the training and deployment of agents in various contexts demand
substantial computational resources and processing power, potentially leading to scalability
issues [
        <xref ref-type="bibr" rid="ref11 ref4">4, 11</xref>
        ].
• Challenges in integrating Multi-Agent Systems (MAS) and SOA arise from perceived
competition, lack of standardization, and interoperability issues among diferent
agent platforms and frameworks. The autonomous nature of agents poses dificulties in
ensuring alignment with organizational goals and compliance with policies. Incorporating
agents with web services in SOA may require additional efort for embedding intelligence
and ensuring interoperability. Issues such as limited support for hosting agent classes,
challenges with mobile agents, and dificulties in integrating agent-based systems with
existing technologies further impede widespread adoption. Additionally, the lack of
standardization in Agent Communication Languages (ACLs) and potential limitations
in interpretation of Reinforcement Learning (RL) agents contribute to interoperability
concerns in SOA [
        <xref ref-type="bibr" rid="ref11 ref4">4, 12, 11</xref>
        ].
• In SOA, the dynamic and autonomous behavior of agents can lead to challenges in
predictability, making it dificult to forecast their outputs. Additionally, microservices,
while sharing agent-like qualities such as autonomy and collaboration, may lack inherent
learning and adaptation capabilities, which could be a consideration for future system
upgrades [
        <xref ref-type="bibr" rid="ref4 ref8">4, 8</xref>
        ].
• Diferences in control systems, with the Foundation of Intelligent Physical Agents (FIPA)
specification are not suitable for experimental setups and SOA control structures for
production systems, highlight considerations in system design. The coordination and
communication between agents and services in distributed environments introduce
potential overhead and latency. For microservices, well-defined communication protocols, like
HTTP or messaging systems, are crucial, necessitating careful consideration to ensure
proper communication and system functionality, especially during microservices
migration or updates. Challenges in coordinating and communicating between agents in
a distributed environment may pose dificulties in maintaining consistent behavior
and synchronization [
        <xref ref-type="bibr" rid="ref5">5, 12, 13</xref>
        ].
      </p>
      <p>
        The following limitations are also presented in the context of using agent and micro service
architectures:
• Implementing self-organization and emergence in several systems through MAS and
SOA introduces concerns due to potential risks of unpredictability and disruptions.
Security is a critical consideration, particularly when agents have access to sensitive data
and interact with external services, as their autonomous behavior can become vulnerable
to malicious attacks or unauthorized access. Addressing security in agent-based systems
within SOA necessitates robust measures, including trusted hosts, secure communication
protocols, and secure agent profiles to safeguard sensitive information. The autonomous
nature of agents raises challenges in ensuring security and privacy, making the design and
implementation of protective measures complex, especially in microservices environments
with distributed data exchange. [
        <xref ref-type="bibr" rid="ref11 ref2 ref5 ref6 ref9">2, 6, 11, 5, 12, 13, 9, 16, 14</xref>
        ]
• MAS face scalability and performance limitations in large-scale systems, particularly in
the context of SOA. Concerns about the scalability of agent-based systems in SOA
arise from the potential impact on system performance, as the number of agents
and their interactions increases. Agents may introduce computational overhead and
memory usage challenges, afecting the performance of microservices. Additionally,
coordination, negotiation, and communication between agents can contribute to additional
overhead and latency in the system, emphasizing the need for innovative performance
evaluation techniques and optimization methods for efective resource allocation and
arrangement [
        <xref ref-type="bibr" rid="ref9">12, 9, 16, 14, 15</xref>
        ].
• Integration of agents in systems, particularly within SOA, introduces heightened
complexity. This complexity spans development, maintenance, coordination, and
Limitations of using
agents with SOA
      </p>
      <p>Scalability and
resource usage
Distributed procesing
and interoperability
Limited reusability</p>
      <p>Standarization
Limitations of using agents
with SOA and microservices</p>
      <p>Security
Performance and</p>
      <p>overhead
Complexity and
specialized skills</p>
      <p>Benefits of using
agents and microservices</p>
      <p>Resource
Management and</p>
      <p>optimization
Flexibility, autonomy
and adaptability
Integration and
colaboration
Benefits of using agents
with SOA and
microservice
Quality and service
level management</p>
      <p>Learning and
proactive support
Communication</p>
      <p>Integration</p>
      <p>
        management aspects, necessitating specialized skills and expertise. Factors such as
persistence management, coordination mechanisms, and the potential for performance
overhead contribute to the intricate nature of agent-based systems. The challenges extend
to aspects like debugging, troubleshooting, and adapting to dynamic environments,
making the implementation and management of agent-central architectures resource-intensive
and demanding careful design considerations [
        <xref ref-type="bibr" rid="ref10 ref11 ref2 ref4 ref5 ref6 ref8">2, 4, 5, 6, 11, 12, 8, 13, 16, 14, 15, 10</xref>
        ].
      </p>
      <p>A summary of the preceding points is depicted in Figure 3, where both the limitations and
benefits of employing agents in software architectures can be observed. It is clear that the
combination of agents and microservices ofers certain advantages that address the limitations
found in the combination of agents and SOA.</p>
      <p>To illustrate, if we encounter issues like scalability and resource usage in the context of
agents combined with SOA, we can address them by taking advantage of the efective resource
management and optimization features found in agents combined with microservices. Likewise,
challenges related to distributed processing and interoperability, as discussed in the context of
agents and SOA, can be resolved by utilizing the flexibility, autonomy, and adaptability ofered
by agents combined with microservices. Moreover, the problem of limited reusability often
associated with SOA combined with agents can be overcome by integrating and collaborating
with agents combined with microservices, which enhances the agent’s capacity for improvement.
Additional benefits are intrinsic to both types of architectures, as is evident from the earlier
discussion, where microservices can be viewed as an evolution of SOA.</p>
      <p>Finally, common limitations emerge when deploying agents in both architectures, implying
persistent challenges. In the following section, we introduce MLSysOps, a project designed for
automatic and adaptive resource management and application deployment. This initiative is
poised to tackle some of the challenges associated with these limitations.</p>
    </sec>
    <sec id="sec-4">
      <title>4. The MLSysOPS use case</title>
      <p>The MLSysOps project represents a crucial initiative aimed at navigating the complexities
surrounding resource management and application deployment within DEC continuum systems,
leveraging the power of ML techniques. It is conceived as a Platform-as-a-Service (PaaS)
solution,dedicated to streamlining the management, and deployment of distributed IoT applications.
These applications, comprising interconnected components with diverse resource demands and
considerations for quality of service, find a unified platform in MLSysOps. The advantages
explained in the previous section seamlessly extend to the MLSysOps project. In particular, the
utilization of this agent framework to oversee microservice-oriented IoT applications within
the DEC Continuum ofers a range of functionalities, encompassing autonomy, intelligence,
lfexibility, and integration.</p>
      <p>QoS</p>
      <p>MLaaS
M1 M2 M3 .....</p>
      <p>NODE</p>
      <p>Agent</p>
      <p>Telemetries
MAPE</p>
      <p>ML Models</p>
      <p>As illustrated in Figure 4, agents, equipped with their full range of functionalities, will be
capable of internally and externally employing ML models on each node to oversee the execution
of the application. Additionally, a ML-as-a-service repository will be available, allowing agents
to choose from a variety of models to govern the entire system based on its current state.
This approach efectively addresses and overcomes the dynamic challenges inherent in the
ecosystem.</p>
      <p>Furthermore, addressing the limitations within the MLSysOps project involves harnessing
the power of ML techniques. The application of ML is instrumental in enhancing security by
incorporating well-established anomaly detection models. This robust security measure
complements the amalgamation of agents and microservices. Similarly, performance optimization
and reduction of overhead are achieved through continuous monitoring system state and
eficient manage of the resources facilitated by ML. This dynamic orchestration of services serves
to preemptively mitigate potential performance constraints, ensuring a seamless operational
experience.</p>
      <p>While it is acknowledged that the implementation of such agents may demand a certain level
of complexity and specialized skills, it is imperative to recognize that this limitation extends
beyond system behavior. Emphasizing the evolutionary leap represented by this promissory
advancement can efectively dispel concerns about complexity, encouraging broader adoption
of this architecture.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>In the era of expanding IoT ecosystems, where the inclusion of devices and services is a
daily occurrence, efectively dealing with this vast, dynamic, and diverse environment poses a
significant challenge. In this direction, the exploitation of software agents holds great promise
to facilitate the automation of this complex management landscape. Our analysis has delved
into the utilization of agents within SOA and microservice architectures, shedding light on their
advantages and limitations.</p>
      <p>Upon comparison, it becomes evident that incorporating agents into a microservices scenario
aligns seamlessly with the distributed nature of the IoT. This integration brings forth essential
functionalities such as autonomy in resource management, flexibility, adaptability, integration,
and collaboration, which are instrumental in realizing the vision of autonomous computing.
Nevertheless, certain limitations persist, presenting opportunities for refinement.</p>
      <p>The MLSysOps framework, as presented, signifies a significant stride in addressing these
challenges. The amalgamation of agents and microservices, coupled with the incorporation
of ML techniques, promises to embed intelligence into the automation of the dynamic and
heterogeneous DEC continuum. This integrated approach not only harnesses the inherent
capabilities of agents and microservices but also addresses and surpasses the previously identified
limitations.</p>
      <p>The future work involves the practical implementation of the MLSysOps framework and
rigorous validation through numerous tests using real-world distributed IoT applications. This
real-world validation will not only attest to the feasibility of the proposed framework but
also contribute valuable insights for further enhancement. As we navigate the future of IoT
ecosystems, the synergistic integration of agents, micro-services, and ML techniques stands as
a promising avenue for overcoming the intricacies of managing this ever-expanding landscape.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>The research leading to this work was carried out under the “MLSysOps" Project (Grant
Agreement 101092912) funded by the European Community’s Horizon Europe Programme. For the
purpose of open access, the authors have applied a CC BY public copyright license to any Author
Accepted Manuscript version arising from this submission.
computing for autonomic computing: A research agenda, IEEE Internet Computing 13
(2009) 82–87.
[12] P. Vrba, V. Mařík, P. Siano, P. Leitão, G. Zhabelova, V. Vyatkin, T. Strasser, A review of agent
and service-oriented concepts applied to intelligent energy systems, IEEE transactions on
industrial informatics 10 (2014) 1890–1903.
[13] F. Siqueira, J. G. Davis, Service computing for industry 4.0: State of the art, challenges,
and research opportunities, ACM Computing Surveys (CSUR) 54 (2021) 1–38.
[14] Y. Kalyani, R. Collier, Hypermedia multi-agents, semantic web, and microservices to
enhance smart agriculture digital twin, in: 2023 IEEE International Conference on
Pervasive Computing and Communications Workshops and other Afiliated Events (PerCom
Workshops), IEEE, 2023, pp. 170–171.
[15] T. Daradkeh, A. Agarwal, Modeling and optimizing micro-service based cloud elastic
management system, Simulation Modelling Practice and Theory 123 (2023) 102713.
[16] R. W. Collier, E. O’Neill, D. Lillis, G. O’Hare, Mams: Multi-agent microservices, in:
Companion proceedings of the 2019 world wide web conference, 2019, pp. 655–662.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Villamizar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Garcés</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Castro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Verano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Salamanca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Casallas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gil</surname>
          </string-name>
          ,
          <article-title>Evaluating the monolithic and the microservice architecture pattern to deploy web applications in the cloud</article-title>
          ,
          <source>in: 2015 10th Computing Colombian Conference (10CCC)</source>
          , IEEE,
          <year>2015</year>
          , pp.
          <fpage>583</fpage>
          -
          <lpage>590</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.</given-names>
            <surname>Salah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Zemerly</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. Y.</given-names>
            <surname>Yeun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Al-Qutayri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Al-Hammadi</surname>
          </string-name>
          ,
          <article-title>The evolution of distributed systems towards microservices architecture</article-title>
          ,
          <source>in: 2016 11th International Conference for Internet Technology and Secured Transactions (ICITST)</source>
          , IEEE,
          <year>2016</year>
          , pp.
          <fpage>318</fpage>
          -
          <lpage>325</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>T.</given-names>
            <surname>Cerny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Donahoo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Trnka</surname>
          </string-name>
          ,
          <article-title>Contextual understanding of microservice architecture: current and future directions</article-title>
          ,
          <source>ACM SIGAPP Applied Computing Review</source>
          <volume>17</volume>
          (
          <year>2018</year>
          )
          <fpage>29</fpage>
          -
          <lpage>45</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Lotfallahtabrizi</surname>
          </string-name>
          , Y. Morgan,
          <article-title>Comparing autonomy and collaboration between agentoriented architecture and service-oriented architecture</article-title>
          ,
          <source>in: 2017 8th IEEE Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON)</source>
          , IEEE,
          <year>2017</year>
          , pp.
          <fpage>25</fpage>
          -
          <lpage>31</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R. L.</given-names>
            <surname>Hartung</surname>
          </string-name>
          ,
          <article-title>Service oriented architecture and agents: Parallels and opportunities, Agent and Multi-agent Technology for Internet and Enterprise Systems (</article-title>
          <year>2010</year>
          )
          <fpage>25</fpage>
          -
          <lpage>48</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Salah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Zemerly</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. Y.</given-names>
            <surname>Yeun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Al-Qutayri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Al-Hammadi</surname>
          </string-name>
          ,
          <article-title>Iot applications: From mobile agents to microservices architecture</article-title>
          ,
          <source>in: 2018 International conference on innovations in information technology (IIT)</source>
          , IEEE,
          <year>2018</year>
          , pp.
          <fpage>117</fpage>
          -
          <lpage>122</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>C.</given-names>
            <surname>Savaglio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ganzha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Paprzycki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bădică</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ivanović</surname>
          </string-name>
          , G. Fortino,
          <article-title>Agent-based internet of things: State-of-the-art and research challenges</article-title>
          ,
          <source>Future Generation Computer Systems</source>
          <volume>102</volume>
          (
          <year>2020</year>
          )
          <fpage>1038</fpage>
          -
          <lpage>1053</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>P.</given-names>
            <surname>Krivic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Skocir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kusek</surname>
          </string-name>
          , G. Jezic,
          <article-title>Microservices as agents in iot systems</article-title>
          ,
          <source>in: Agent and Multi-Agent Systems: Technology and Applications: 11th KES International Conference, KES-AMSTA 2017 Vilamoura</source>
          , Algarve, Portugal,
          <year>June 2017</year>
          Proceedings 11, Springer,
          <year>2017</year>
          , pp.
          <fpage>22</fpage>
          -
          <lpage>31</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>L.</given-names>
            <surname>Ribeiro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Barata</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Colombo</surname>
          </string-name>
          ,
          <article-title>Mas and soa: A case study exploring principles and technologies to support self-properties in assembly systems</article-title>
          , in: 2008 Second IEEE International Conference on Self-Adaptive and
          <article-title>Self-Organizing Systems Workshops</article-title>
          , IEEE,
          <year>2008</year>
          , pp.
          <fpage>192</fpage>
          -
          <lpage>197</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Khaleq</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Ra</surname>
          </string-name>
          ,
          <article-title>Development of qos-aware agents with reinforcement learning for autoscaling of microservices on the cloud</article-title>
          ,
          <source>in: 2021 IEEE International Conference on Autonomic Computing</source>
          and
          <string-name>
            <surname>Self-Organizing Systems Companion (ACSOS-C)</surname>
          </string-name>
          , IEEE,
          <year>2021</year>
          , pp.
          <fpage>13</fpage>
          -
          <lpage>19</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Brazier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. O.</given-names>
            <surname>Kephart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. V. D.</given-names>
            <surname>Parunak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. N.</given-names>
            <surname>Huhns</surname>
          </string-name>
          , Agents and service-oriented
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>