<!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>
      <journal-title-group>
        <journal-title>Workshops, OpenRE, Posters and Tools Track, and Doctoral Symposium, Essen, Germany</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Towards Self-Explainable Adaptive Systems (SEAS): A Requirements Driven Approach</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nabia Khalid</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nauman A. Qureshi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. of Comp. Sci, CCSIT, King Faisal University</institution>
          ,
          <addr-line>31982, Al Ahsa</addr-line>
          ,
          <country country="SA">Saudi Arabia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dept. of Computing, SEECS, National University of Sciences and Technology</institution>
          ,
          <addr-line>44000, Islamabad</addr-line>
          ,
          <country country="PK">Pakistan</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>1</volume>
      <fpage>2</fpage>
      <lpage>04</lpage>
      <abstract>
        <p>Self-Explainable Adaptive Systems (SEAS) focus on liaising their decisions to the end-users while providing solutions to reduce the complexity and costly maintenance by operating in an uncertain and dynamically changing environment. At the time of crises, when a system behaves diferently from its usual behaviour leaving the end-user clueless about what went wrong; a SEAS imparts user explanations in natural language for better understandability of the system. This mitigates the risks generated from the system's negative behaviour. [Research Problems] Engineering SEAS is challenging. In this planned research, we aim to answer the following questions i.e. How to model the requirements and domain knowledge so that the system adapts to runtime changes according to the end-user's environment? How to generate user explanations in natural language form exploiting the model at runtime? [Results] To realize SEAS, we aim to explore the requirements driven approach such that the an adaptive servicebased system (e.g. SBA) can deduce self-explanations based on the data generated from end-user's interactions with itself [Contribution] In this paper, we present our planned approach by investigating the relationship between Explainable Artificial intelligence (XAI) and runtime requirements engineering (RE) to realize SEAS which is capable to adapt and produce scenario-based positive and negative user explanations at runtime. We elaborate our proposal with a motivating example.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Requirements Engineering</kwd>
        <kwd>Self-Adaptive Systems</kwd>
        <kwd>User Explanations</kwd>
        <kwd>Ontology</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Goal Models have been used extensively in engineering adaptive systems as an efective
requirements modeling technique [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. Goal models provide efective way to model functional
(Hard goals) and non-functional requirements (Soft goals) at an early stage of RE process to
support decision making over alternative design choices through goal reasoning.
      </p>
      <p>Artificial Intelligence (AI) systems on the other hand are more centered on Machine Learning
(ML) processes without catering too much of end-user needs. Recent surge in AI-based systems
has promoted research in several dimensions. One of them is to equip the system to provide user
explanations enabling the end-users to know about system decisions i.e. how responsible and
transparent is their decision making process?. However, research tackling this idea is limited so
far.</p>
      <p>
        In our planned research, we aim to bridge the gap between RE and AI-based systems. Precisely,
we envision to engineer Self-Explainable Adaptive Systems(SEAS) by investigating the idea that
Self-Adaptive Systems (SAS), which continuously run to overcome the challenges of complexity
in uncertain environments, can be well facilitated with run-time representation of requirements
(i.e. goal-based ontology as live artifact) to support reasoning over requirements change and
generating user explanations thereby enabling the end-user to take informed decisions or rely
on SEAS decisions at run-time. The common ground between Explainable AI (XAI) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and
Continuous Runtime RE [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] (CARE) is the end-user, where the former concept is user-centric as
the system communicates its decisions in human readable format to the end-user.
      </p>
      <p>
        Recent implementations of XAI systems uses black-box Deep Neural Network (DNN) models
allowing users to infer why a decision is made. However, it has been argued that using deep
neural network (DNN) based approach has its own limitation in case of runtime changes or
model extrapolation [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        Runtime RE involves Goal driven adaptation of the system. Modeling of system’s behaviour,
operating environment, resource availability and the end-user’s context in the form of a goal
model provides flexibility to reason about design alternatives [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Design models of
Servicebased Applications (SBAs) are defined as a set of loosely coupled variation points or services
facilitating either web client or smart phone applications. To enable adaptation of SBAs at
runtime, Continuous Runtime RE has been proposed as a candidate solution [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] (CARE). To
enable continuous Runtime RE, requirements problem requires reformulating and resolving the
end-user attitude (preferences, selection between requirements) or the operating environment
(Domain assumption, Context, Quality Constraint) when changes occur [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ](ReCORE), [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
(ARML).
      </p>
      <p>In this work, we adopt the above approaches by introducing a requirements-driven approach
to model end-user’s operating environment and attitude in such a way that the system is
equipped to provide user explanations upon a requirement failure. For instance, when a smart
phone user is paying a bill via credit or debit card after placing the meal order and right after the
payment made, the machine halts and there is no electronic receipt generated. Such a situation
leaves the user in a state of confusion and it leads to some questions from end-user’s perspective
like: Whether or not my order has been placed as the payment was already done?, Should I place a
meal order again?, Should I wait for my meal to arrive as may be the order was placed?. In order
to cater the such confusions, the end-user should be supported with explanation in accordance
with the runtime requirements model. We envision Self-Explainable Adaptive System (SEAS) to
overcome such problems. In this paper, we present our planned approach with a motivating
example.</p>
      <p>The paper is organized as follows. Section 2. gives a brief background of the current
approaches and deduced research objectives to the planned work, while Section 3 highlights the
planned proposed approach towards the Explainable Requirements Driven Reasoning (ERDR)
method and Section 4 discusses the aimed evaluation methodology of the proposed framework
and conclusion.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background Preliminaries</title>
      <p>
        The concept of combining self adaptivity and self explainability is not new as there are recent
approaches which argue that AI-based systems to be transparent in their decisions. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
emphasizes on a model based approach for introducing self-explanations in adaptive systems.
The approach is based upon keeping the record of non-functional requirements (NFRs) with the
functional requirements, hence producing self explanations. There are diferent kinds of systems
upon which research has been conducted lately including Cyber-physical systems, Cloud-aware
mobile systems, Agent-based systems etc. The basic infrastructure of self adaptation for the
above mentioned systems is MAPE-K loops [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], where the technique allows the system to
monitor the end-user and the system’s environment and then analyze the faulty requirement,
plan the alternate solution and then execute it by exploiting a knowledge base. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], a Monitor,
Analyze, Build, Explain (MAB-EX) framework has been proposed to realize self-explainable
systems from runtime requirements and explainability models i.e. modeled using Scenario
Modeling Language (SML) to generate explanation in textual format at runtime. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] emphasizes
on the use of decision trees stored in the form of ontology for recording user explanations in
order to reduce the cognitive load from the end-user and making explanations more simpler
to grasp in natural language form. For this purpose, the domain knowledge of the system in
question is mapped in the form of Requirements Model/ Goal Model in the Ontology where the
schema is also internally reasoned over on machine learning level.
      </p>
      <p>
        The above approaches are similar to our proposal. Diferently, we argue to use ontology as
a live requirements model which enables the system to generate scenario-based positive or
negative explanations taking into account the user-system interaction at runtime. Although,
our previous works [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ](ReCORE) and [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ](ARML) lays the foundation of revised CORE ontology
for RE (Re-CORE) and Adaptive Requirements Modeling Language (ARML) respectively, where
the former research describes how to classify and map the requirements in the form of classes
and entities in ontology and the later describes a modeling language which help to reason and
evolve the requirements in the ontology. In this paper, we aim to extend our previous works
and provide a more practical framework for realizing SEAS.
      </p>
      <sec id="sec-2-1">
        <title>2.1. Research Objectives</title>
        <p>
          Taking into account the recent research, we are planning to incorporate the Requirements Model
adapted and enhanced from the RECore Ontology [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] and [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] for designing SEAS. Following
research objectives (ROs) guide our planned research.
– RO1:- Performing CRUD operations over live requirements to achieve runtime self-adaptation in
service-based smart phone applications: To achieve this, we model functional requirements of
the front-end SBA to enable self adaptation at runtime by actuating RE actions and rule based
reasoning over the domain knowledge encoded inside the model resulting into the Requirements
Model Ontology (RMO) schema to either expand or contract analogous to databases. To realize
such runtime adaptation, a requirements protocol or a requirements modeling language is
needed which defines relations between requirement concepts. Here we are planning to adapt
and enhance Adaptive Requirements Modeling Lanuage (ARML) [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] in our proposed RMO.
– RO2:- Generating user-explanations about the failed requirements by concatenating the
environmental variables: This RO is setting of the proposed idea of chaining all the environmental
variables (Domain assumption, end-user Context, Quality Constraint related to a particular
requirement. The domain instantiated data variables related to the functional requirements
contribute in building a scenario-based negative or positive explanations for the end-users. This
is further explained with an illustrative example in section 3.
– RO3:- Providing transparency in software behaviour by using Requirements Model Ontology as
a knowledge base of SEAS: Any AI-based solution involves nodes attached via weighted edges
and the decision making in mapping the inputs to optimal outputs in layers lies in functional
computation. Analogically, requirements modeled as ontology1 in the form of Hard Goal nodes
connected by some [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] relations. An ontology is semantically more enriched to accommodate
domain concepts which are used to record end-user and system interactions and enhance
backend reasoning. Such data is needed to adapt and perform runtime RE. In comparison with other
techniques, it is envisaged that it may lead to performance delays as more computations and
reasoning is involved. However, the benefit of successful adaptation and generating end-user
explanations are more rewarding comparing to performance glitches. Although, we are further
investigating this in our research.
– RO4:- Consistency of Requirements Model before and after the execution of each scenario during
Runtime Adaptation: The state of the Requirements Model should be consistent before the
initial stage and after the final stage of the adaptation. Here the term consistency defines that
the Requirements Model is in a valid state. The valid state of the Requirements Model at a
certain point of time is achieved by the successful execution of the particular scenario in which
requirements must be achieved and end-users are involved through explanations.
        </p>
        <p>Based on the above mentioned ROs, we are planning to propose an Explainable Requirements
Driven Reasoning (ERDR) Method for Adaptive SBAs which is described briefly in the section
below.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Explainable Requirements Driven Reasoning (ERDR) Method</title>
      <p>In this section, we briefly explain our proposed Explainable Requirements Driven Reasoning
(ERDR) method in which the reasoning over requirements allow them to be evolved at runtime
while explaining the reason of requirement failure to the end-user. The basic work flow of
our proposed approach starts from the end-user’s interaction with SBA for instance. The
environmental data (C-Q-K) is generated as the result of each interaction where C is the Context
of the end-user which is further divided in sub-entities i.e. location context,device context,user
behavioural context; (Q) is the Quality Constraint which is further defined as conditional rules
on domain specific data sets and K is the Domain Assumption which comprises of pre- and
post- conditions specific to a requirement, which is captured by the monitoring module ( M) of
the ERDR method. Subsequently, the end-user’s functional requirement is forwarded to the
analysis (A) module based on the axioms/rules that defines the entities semantically. In case of
a requirements failure, the rule based reasoner (R) suggests the best possible alternative action.
Based on the concatenation of the recorded results (C-Q-K) from R, the user explanations (Ex)
are generated in natural language format. Hence, this forms an end-user and SBA feedback
interaction loop. All the conversation between the end-user and the SBA in the (C-Q-K) format
is recorded at the backend and the requirements are continuously refined in the RMO. Central
to our approach is the Requirements Model Ontology (RMO), which is briefly explained further
along with it’s structure and how the domain specific requirements are being reasoned over for
evolution.</p>
      <p>
        Requirements Model Ontology (RMO) conceptually comprises of two components i.e. the
Abstract Goal Model (AGM) and the Domain Specific Requirements Model (DSRM). AGM is
the structure of the Requirements Model which instantiates the domain model. The
structural taxonomy of the AGM embodies itself into three main parts. First and foremost is the
GoalModelConcepts adapted from [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], second one is the Relations adapted and enhanced
from ARML [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and the third one is the REActions, which enhances the previous two. These
base concepts collectively define the semantics of the AGM. The concept GoalModelConcepts
further divides in sub-concepts which defines the requirements database. Sub-concepts include
Actor (A), Context (C), Quality Constraint (Q), Domain Assumption (K), Plan (P), Goal (G),
Resource (R) and User Explanations (UE) where each concept is defined by a specific axiom or
rule (combination of other concepts) in the RMO so that the domain specific requirements can
be reasoned over them. All these concepts are joined to each other via Relations and therefore,
evolve (CRUD operations as define in RO1 in section 2) at runtime using the RE Actions.
      </p>
      <sec id="sec-3-1">
        <title>3.1. Scenario Illustration</title>
        <p>To put into practice, the work sequence of our proposed method, let’s look at a scenario shown
in the Figure 1. Here the ’User Environment’ box is highlighting a problem at the user’s end
from ’My Restaurant’ SBA, which uses RMO as a live artifact.</p>
        <p>Julia had a busy day at work. She gets out from her ofice at 12:45 hrs to pick up her friend and
come to the restaurant where she booked a table a day before for lunch around 13:00 hrs. Due to
heavy trafic and long distances she checks-in ’My Restaurant’ around 13:30 hrs. She chooses
to avail her booked reservation. She tries to check-in but her request gets failed leaving her in a
confused state. Here arises the cognitive load on Julia which drives the need for the following
question:</p>
        <p>Why I am unable to check-in?</p>
        <p>In order to seek answer the question above, we show how ERDR method works at the
backend of the SBA. From the above mention problem scenario, we can deduce that Julia’s functional
requirement is check-in. Figure 1 is showing that the requirement task Check-in has been
initiated by Julia, so at first M fetches the Relation associated actor of the given task. After that
the associated actor Julia’s associated user explanation (UE) is going to be accessed with the
Relation associated UE. As the Relations associated with all the three environment variables
i.e. Domain Assumption, Context and Quality Constraint are chained as the sub properties
of associated UE, so they can be directly called by the Actor. The environment variables are
modeled with the help of axioms as explained above, so in order to successfully monitor the
environment variables,M calls the A module to verify their axioms.</p>
        <p>As shown in the figure 1, the Quality Constraint (qc1) has a condition or axiom to fulfill
based on the actor’s data i.e. the diference between the reserved time and the current
Julia</p>
        <p>User
Environment</p>
        <p>Legend:
threshold = 15 minutes
time of check-in should not exceed the threshold which is fifteen minutes. This method of
axiom verification is actually a pass/fail test, if the runtime end-user monitored data exceeds
the axiom then there is no un-anticipated change in the running environment of the particular
requirement otherwise in case of the failure of any one of the three environment variables(qc1
status=’failed’), the requirement in question fails. Based on the result, We plan to use negative
explanation variable = ’Late’ to generate user explanations (Ex) in natural language. So the
answer to Julia’s question is computed by combining all the environmental and data variables
as shown in figure 1 and she is been redirected to an alternate optional requirement that is
’Home Delivery’ by R based on the schema change operators i.e. RE Actions of the RMO.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Discussion and Conclusion</title>
      <p>
        In this section, we briefly reflect on our proposed ERDR method, its evaluation methodology
and conclude with future work directions.The nucleus of our ERDR method is RMO, which has
been modeled and realized as an ontology. Model expansion and contraction is handled by our
encoded axioms and rule based reasoners so we plan to adopt the ROMEO Methodology proposed
in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] to determine it’s preciseness and optimality in our proposed approach. Summarizing the
above proposed approach, our ERDR method requires further investigation for its correctness
and applicability to realize SEAS. The simple illustration used to describe the proposed approach
in section 3 has been chosen to prove the eficacy of the approach. However, we aim to scale
and enhance the implementation of ERDR method in future so that it be used to address more
realistic problems like smart vehicles or discovering evacuation paths in disaster management
systems where the RMO monitors and stores the complex environmental data sets (C-Q-K)
of the end-user like location context, device context, pre and post conditions of the Domain
Assumptions and Quality Constraints as a way to generating user-explanations when required
while application adapts according to the RMO. This helps in reducing the user’s cognitive load.
Finally, we plan to evaluate our SEAS implementation with real users to evaluate it’s eficacy.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>N. A.</given-names>
            <surname>Qureshi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <article-title>Continuous adaptive requirements engineering: An architecture for self-adaptive service-based applications</article-title>
          , in: 2010 First International Workshop on Requirements@Run. Time, IEEE,
          <year>2010</year>
          , pp.
          <fpage>17</fpage>
          -
          <lpage>24</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>K.</given-names>
            <surname>Welsh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Bencomo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sawyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Whittle</surname>
          </string-name>
          ,
          <article-title>Self-explanation in adaptive systems based on runtime goal-based models</article-title>
          ,
          <source>in: Transactions on Computational Collective Intelligence XVI</source>
          , Springer,
          <year>2014</year>
          , pp.
          <fpage>122</fpage>
          -
          <lpage>145</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C. J.</given-names>
            <surname>Cai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Jongejan</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Holbrook,</surname>
          </string-name>
          <article-title>The efects of example-based explanations in a machine learning interface</article-title>
          ,
          <source>in: Proceedings of the 24th International Conference on Intelligent User Interfaces</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>258</fpage>
          -
          <lpage>262</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Elton</surname>
          </string-name>
          ,
          <article-title>Self-explaining ai as an alternative to interpretable ai</article-title>
          ,
          <source>in: International Conference on Artificial General Intelligence</source>
          , Springer,
          <year>2020</year>
          , pp.
          <fpage>95</fpage>
          -
          <lpage>106</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E. D.</given-names>
            <surname>Nitto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ghezzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Metzger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Papazoglou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Pohl</surname>
          </string-name>
          ,
          <article-title>A journey to highly dynamic, self-adaptive service-based applications</article-title>
          ,
          <source>Automated Software Engineering</source>
          <volume>15</volume>
          (
          <year>2008</year>
          )
          <fpage>313</fpage>
          -
          <lpage>341</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>N. A.</given-names>
            <surname>Qureshi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. J.</given-names>
            <surname>Jureta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <article-title>Requirements engineering for self-adaptive systems: Core ontology and problem statement</article-title>
          ,
          <source>in: International Conference on Advanced Information Systems Engineering</source>
          , Springer,
          <year>2011</year>
          , pp.
          <fpage>33</fpage>
          -
          <lpage>47</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>N. A.</given-names>
            <surname>Qureshi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. J.</given-names>
            <surname>Jureta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <article-title>Towards a requirements modeling language for selfadaptive systems</article-title>
          , in: International Working Conference on Requirements Engineering: Foundation for Software Quality, Springer,
          <year>2012</year>
          , pp.
          <fpage>263</fpage>
          -
          <lpage>279</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>N.</given-names>
            <surname>Bencomo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Welsh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sawyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Whittle</surname>
          </string-name>
          ,
          <article-title>Self-explanation in adaptive systems</article-title>
          ,
          <source>in: 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems</source>
          , IEEE,
          <year>2012</year>
          , pp.
          <fpage>157</fpage>
          -
          <lpage>166</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P.</given-names>
            <surname>Arcaini</surname>
          </string-name>
          , E. Riccobene,
          <string-name>
            <given-names>P.</given-names>
            <surname>Scandurra</surname>
          </string-name>
          ,
          <article-title>Modeling and analyzing mape-k feedback loops for self-adaptation</article-title>
          ,
          <source>in: 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive</source>
          and
          <string-name>
            <surname>Self-Managing</surname>
            <given-names>Systems</given-names>
          </string-name>
          , IEEE,
          <year>2015</year>
          , pp.
          <fpage>13</fpage>
          -
          <lpage>23</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Blumreiter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Greenyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. J. C.</given-names>
            <surname>Gracia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Klös</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schwammberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Sommer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vogelsang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Wortmann</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</source>
          <volume>(</volume>
          <string-name>
            <surname>MODELS-C)</surname>
          </string-name>
          , IEEE,
          <year>2019</year>
          , pp.
          <fpage>543</fpage>
          -
          <lpage>548</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Confalonieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Martín</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Agramunt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Malagarriga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Faggion</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Weyde</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. R.</given-names>
            <surname>Besold</surname>
          </string-name>
          ,
          <article-title>An ontology-based approach to explaining artificial neural networks</article-title>
          , ArXiv abs/
          <year>1906</year>
          .08362 (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Thom</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tam</surname>
          </string-name>
          ,
          <article-title>Requirements-oriented methodology for evaluating ontologies</article-title>
          ,
          <source>Information Systems</source>
          <volume>34</volume>
          (
          <year>2009</year>
          )
          <fpage>766</fpage>
          -
          <lpage>791</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>