<!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 Vision for Explainability of Coordinated and Conflicting Adaptions in Self-Adaptive Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sandro Speth</string-name>
          <email>sandro.speth@iste.uni-stuttgart.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sarah Stieß</string-name>
          <email>sarah.stiess@iste.uni-stuttgart.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefen Becker</string-name>
          <email>steffen.becker@iste.uni-stuttgart.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Software Engineering, University of Stuttgart</institution>
          ,
          <addr-line>Stuttgart</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>16</fpage>
      <lpage>19</lpage>
      <abstract>
        <p>In the microservice domain, self-adaptive systems exist that reconfigure themselves to adhere to their guaranteed quality of service in the face of a changing environment. Constant changes in the environment enforce continuous adaptations of the system. Especially, diferent and potentially conflicting adaptations might interact, making it challenging to explain the decision and rationale behind the overall reconfiguration. In this paper, we discuss diferent approaches for the explainability of self-adaptive systems. Furthermore, we propose our approach to achieve a good trade-of between explainability and its performance impact for the mandatory data gathering. The approach encompasses eliciting requirements regarding explanations and their representations and experimenting on reference architectures for insights into the data required to fulfil the requirements.</p>
      </abstract>
      <kwd-group>
        <kwd>Microservices</kwd>
        <kwd>Self-adaption</kwd>
        <kwd>Explainability</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Modern Cloud-native applications increasingly consist of self-adaptive
microservice systems to better cope with constant changes in the environment and
demands [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. To achieve a better overall resilience, services adapt themselves
through reconfigurations of their architecture, e.g., by scaling or by replacing
entire failed services [
        <xref ref-type="bibr" rid="ref1 ref4">1, 4</xref>
        ]. Therefore, a self-adaptive system must monitor and
analyze its current state, plan on which adaptions to take, if any required, and
execute these actions without human intervention [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Due to the varying amount of users in the cloud, the workload changes
constantly and enforces continuous adaptions, which may, either accidentally or on
purpose, happen simultaneously and, therefore, influence or even conflict with
each other. As an example, for two dependent services that are part of a larger
architecture, scaling out the consuming service increases the incoming load of the
consumed one, causing the consumed one to scale as well. Regarding conflicts,
a service might denfie adaptation rules based on diferent metrics, e.g., response
time and CPU load. In case the response time increases while the CPU load
does not, e.g., if the increased response time is caused by waiting for another
service, the response time rule triggers a scale out, followed by the CPU load
rule trying to scale back in. In these examples, the behaviour deviates from the
expected or is sub-optimal. To comprehend the behaviour and to improve and
ifx the system, a DevOps engineer must understand the rationale behind the
performed self-adaptations [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], especially if they are frequently recurring [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
However, the interactions between potentially conflicting adaptations are
challenging to understand, especially if the adaptation rules are more elaborated.
Consequently, the need to explain the interactions between various adaptations
arises. To create an explanation that DevOps engineers easily understand, we
must identify which information the explanation should contain. Furthermore,
for the sake of performance, we must find a reasonable trade-of between the
amount of gathered data and the granularity of the explanation. This leads to
our problem statements:
Problem 1. What is mandatory information to explain the coordination of and
the interactions between multiple, perhaps conflicting reconfigurations and their
impact on the system’s overall adaptation behaviour?
Problem 2. How can we obtain the components of such an explanation while
keeping a trade-of between the quality of the explanation and the performance
impact of the data gathering?
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Explainability is becoming increasingly popular and essential in many research
ifelds as it allows developers to understand systems more eficiently [
        <xref ref-type="bibr" rid="ref12 ref5">5, 12</xref>
        ]. In
the context of cyber-physical systems, Bohlender et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] characterise an
explanation as a collection of information that has a target group and a subject and
improves the target groups’ understanding of the subject [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. As the usefulness
of the explanation depends on the target group, this endorses the importance of
our first problem.
      </p>
      <p>
        Kol¨s et al. [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ] consider the explainability of self-learning self-adaptive
systems. Their system adapts based on timed adaption rules and improves them
with a genetic learning algorithm. It records various information, such as which
condition in the system or environment triggered the adaption, the adaptation’s
expected efects and its actual efects, and feeds these information into a
learning algorithm [
        <xref ref-type="bibr" rid="ref8 ref9">9, 8</xref>
        ]. Furthermore, they state that the collected information may
serve as explanations of the system’s adaptions or as a foundation to create
further explanations for specific target groups [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In contrast to our problem, their
initial focus is on explaining the self-learning aspect. In addition, they focus on
single rules only instead of coordinated reconfigurations.
      </p>
      <p>
        Blumreiter et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] propose the reference framework MAB-EX for
selfexplaining systems. Their framework consists of four steps: (1) Monitor, (2)
Analyze, (3) Build and (4) EXplain. Monitor and Analyze are analogous to the steps
from the MAPE-K [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] loop. Build creates the explanation, and Explain
transforms the explanation into a representation befitting the receiver and transmits
it to the receiver [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The last step emphasises the importance of the target
group. MAB-EX proposes two realisations for assisted driving systems [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In
contrast to that, we focus on self-adaptive microservice systems.
      </p>
      <p>Sandro Speth et al.</p>
    </sec>
    <sec id="sec-3">
      <title>Proposed Approach</title>
      <p>
        In compliance with Bohlender et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], we define DevOps engineers as the
target group for explanations of self-adaptations. Furthermore, we identified three
subjects: (1) (non-)application of a single reconfiguration, (2) coordination of
reconfigurations, and (3) influences and relations between reconfigurations.
      </p>
      <p>
        For our first problem statement, we already conducted an expert survey
regarding reconfiguration on a Kubernetes cluster and found out that DevOps
engineers consider Kubernetes’ primarily textual representations and logs
challenging to understand and, therefore, preprocessed cognitive efective
representations are needed. Next, we plan to conduct an expert survey on DevOps engineers
to identify requirements, mandatory information, and suitable representations,
e.g. text or visual, interactive or static, which improve the DevOps engineers’
understanding of the self-adaptations. We expect that an explanation requires at
least information about (1) the components which were adapted, (2) the
configuration of the components before the adaption, (3) the time of the adaption, and
(4) the environmental change stimuli, e.g., the workload for the afected
components triggering the adaption. Based on the elicited requirements, we decide on
a fitting representation for the explanations. For example, explanations could be
reported as cross-component issues [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] in Gropius [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], as issues are an already
well-established natural platform to explain problems. This way, the
explanations would be available in the developer’s IDE to reduce context-switches [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>
        For the second problem statement, we need a reference architecture for
selfadaptive systems to evaluate our solution approach. The system is required to
execute not only single reconfigurations but multiples in coordination while
providing various metrics and data for the explanations. We plan to conduct a
literature survey to identify suitable reference architectures, starting with the list
provided by Taibi1. To monitor environmental change-stimuli to simulate and gain
required information to explain adaptions, we plan to instrument OpenAPM [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
solutions. Especially, the monitoring solution should provide data and insights
about the system’s behaviour after a reconfiguration to assert the correct
execution of adaption. However, deciding on the monitored metrics, their level of
detail, and how long to preserve the data depends on the requirements collected
in problem 1. Finally, we plan to evaluate explanations created from our
reference architecture’s adaptions for their comprehensibility by performing expert
surveys with DevOps engineers as representatives of our target group.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>Interactions between self-adaptations and potential conflicts between them are
dificult to understand. Therefore, the need for explaining the rationale behind
such adaptations arises. However, current approaches focus on explaining
single adaptations only. Therefore, we propose our ideas of improving the DevOps
engineers’ understanding of a self-adaptive system by explaining single system
1 https://github.com/davidetaibi/Microservices Project List
reconfiguration decisions as well as coordinated reconfiguration decisions and
their influences on and relations with each other. Our ideas include (1)
determining the requirements for explanations in self-adaptive systems and (2) how
to create a suitable explanation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aderaldo</surname>
            ,
            <given-names>C.M.</given-names>
          </string-name>
          , et al.:
          <article-title>Kubow: An architecture-based self-adaptation service for cloud native applications</article-title>
          .
          <source>In: Proceedings of the 13th European Conference on Software Architecture - Volume</source>
          <volume>2</volume>
          . p.
          <fpage>42</fpage>
          -
          <lpage>45</lpage>
          . ACM (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Blumreiter</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Greenyer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Chiyah</given-names>
            <surname>Garcia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.J.</given-names>
            , Kol¨s, V.,
            <surname>Schwammberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Sommer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Vogelsang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Wortmann</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Towards self-explainable cyber-physical systems</article-title>
          .
          <source>In: 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)</source>
          . pp.
          <fpage>543</fpage>
          -
          <lpage>548</lpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bohlender</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , Koh¨l, M.A.:
          <article-title>Towards a characterization of explainable systems (</article-title>
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Garlan</surname>
          </string-name>
          , D., Cheng, S.W.,
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>A.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmerl</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steenkiste</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Rainbow: architecture-based self-adaptation with reusable infrastructure</article-title>
          .
          <source>Computer</source>
          <volume>37</volume>
          (
          <issue>10</issue>
          ),
          <fpage>46</fpage>
          -
          <lpage>54</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Greenyer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lochau</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vogel</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Explainable software for cyber-physical systems (ES4CPS): report from the GI dagstuhl seminar 19023</article-title>
          , january 06-11
          <year>2019</year>
          ,
          <article-title>schloss dagstuhl</article-title>
          . CoRR abs/
          <year>1904</year>
          .11851 (
          <year>2019</year>
          ), http://arxiv.org/abs/
          <year>1904</year>
          .11851
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Kephart</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chess</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>The vision of autonomic computing</article-title>
          .
          <source>Computer</source>
          <volume>36</volume>
          (
          <issue>1</issue>
          ),
          <fpage>41</fpage>
          -
          <lpage>50</lpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Kols¨, V.:
          <article-title>Explainable self-learning self-adaptive systems</article-title>
          .
          <source>In: Explainable Software for Cyber-Physical Systems (ES4CPS): Report from the GI Dagstuhl Seminar</source>
          <volume>19023</volume>
          ,
          <string-name>
            <surname>January</surname>
          </string-name>
          06-11
          <year>2019</year>
          ,
          <string-name>
            <given-names>Schloss</given-names>
            <surname>Dagstuhl</surname>
          </string-name>
          . pp.
          <fpage>46</fpage>
          -
          <lpage>47</lpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Kols¨,
          <string-name>
            <given-names>V.</given-names>
            , Got¨hel, T.,
            <surname>Glesner</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Comprehensible and dependable self-learning self-adaptive systems</article-title>
          .
          <source>Journal of Systems Architecture 85-86</source>
          ,
          <fpage>28</fpage>
          -
          <lpage>42</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. Kols¨,
          <string-name>
            <given-names>V.</given-names>
            , Got¨hel, T.,
            <surname>Glesner</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Comprehensible decisions in complex self-adaptive systems</article-title>
          .
          <source>In: Software Engineering und Software Management</source>
          <year>2018</year>
          . pp.
          <fpage>215</fpage>
          -
          <lpage>216</lpage>
          . Gesellschaft uf¨r Informatik,
          <source>Bonn</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Newman</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : Building Microservices: Designing
          <string-name>
            <surname>Fine-Grained Systems</surname>
          </string-name>
          . O'
          <article-title>Reilly, 2nd edn</article-title>
          . (
          <year>2021</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Novatec</surname>
            <given-names>GmbH</given-names>
          </string-name>
          : Openapm:
          <article-title>Landscape for apm tools, obervability tools and monitoring tools</article-title>
          , https://openapm.io/landscape
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Sadeghi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kols¨</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vogelsang</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Cases for explainable software systems: Characteristics and examples</article-title>
          .
          <source>In: Proceedings of 2021 IEEE 29th International Requirements Engineering Conference Workshops (REW)</source>
          . pp.
          <fpage>181</fpage>
          -
          <lpage>187</lpage>
          . IEEE (
          <year>2021</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Speth</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Semi-automated cross-component issue management and impact analysis</article-title>
          .
          <source>In: Proceedings of 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)</source>
          . pp.
          <fpage>1090</fpage>
          -
          <lpage>1094</lpage>
          . IEEE (
          <year>2021</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Speth</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Becker</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Breitenbu¨cher, U.:
          <article-title>Cross-component issue metamodel and modelling language</article-title>
          .
          <source>In: Proceedings of the 11th International Conference on Cloud Computing and Services Science (CLOSER</source>
          <year>2021</year>
          ). pp.
          <fpage>304</fpage>
          -
          <lpage>311</lpage>
          . SciTePress (
          <year>2021</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Speth</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Breitenbu¨cher, U.,
          <string-name>
            <surname>Becker</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Gropius - a tool for managing crosscomponent issues</article-title>
          .
          <source>In: Software Architecture</source>
          . vol.
          <volume>1269</volume>
          , pp.
          <fpage>82</fpage>
          -
          <lpage>94</lpage>
          . Springer (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Speth</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krieger</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , Breitenbu¨cher, U.,
          <string-name>
            <surname>Becker</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Gropius-vsc: Ide support for cross-component issue management</article-title>
          .
          <source>In: Companion Proceedings of the 15th European Conference on Software Architecture</source>
          .
          <source>CEUR</source>
          (
          <year>2021</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>