<!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>IS-EUD</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Towards Explainable Automations in Smart Homes Using Mobile Augmented Reality</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrea Mattioli</string-name>
          <email>andrea.mattioli@isti.cnr.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabio Paternò</string-name>
          <email>fabio.paterno@isti.cnr.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Augmented Reality</institution>
          ,
          <addr-line>Explanation, Personalization</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>CNR-ISTI, HIIS Laboratory</institution>
          ,
          <addr-line>Pisa</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Department of Information Engineering, University of Pisa</institution>
          ,
          <addr-line>Pisa</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>9</volume>
      <fpage>6</fpage>
      <lpage>8</lpage>
      <abstract>
        <p>The pervasiveness in daily environments of objects equipped with sensors and actuators and characterized by the possibility of communicating over the Internet has steadily increased in recent years. In this scenario, smart home automations are becoming increasingly adopted. It is hence important to provide users with explainable tools to better control these automations and make them more useful for their needs. We present a novel mobile augmented reality solution to support users in creating and controlling automations through recommendations and a simulation tool. We also discuss the application of an augmented reality XAI framework to the presented solution in order to improve its transparency.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        In automation-based environments it is possible to have several automations active at the same time
with a resulting behaviour different from the expected one. In this case, explainability strategies should
be put in place to identify potential problems, and help in finding possible solutions, involving users in
this process. A key point is how people can receive useful information and help in identifying possible
mismatches between desired and actual behaviour. A way to reduce the likelihood of errors in the
specification of automations is to allow users to simulate the conditions and events that can trigger an
automation and the effects that they will bring about. The detection of the problems and the fixing of
their cause can be quite problematic for end users especially because, as noted by [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], most EUD
environments do not include debugging aids for unprofessional end users. A general approach for the
debugging part is represented by the Interrogative Debugging paradigm [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], where the user can directly
interrogate the system with “why” and “why not” questions. In this perspective we have considered
previous studies on the use of why and why not explanations to improve the intelligibility of
contextaware intelligent systems [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. More recently, general approaches for explainable artificial intelligence
have been put forward to identify the key questions to address for this purpose [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Such questions
have been refined for the augmented reality context [15]. However, even such recent contributions have
not addressed the issue of how to provide useful explanations about the available automations through
a mobile augmented reality solution. Another possible strategy to support users is to provide
explanations for contributing to reaching some overall goal for the targeted context of use. Examples
of possible overall goals are improving security or health or energy saving or entertainment. A way to
help users to reach their personalization goals is to show recommendations that match the intended
behaviour they are currently defining, accompanied by explanations of why the recommendations have
been provided. Previous work [
        <xref ref-type="bibr" rid="ref14 ref3 ref5">3, 5, 14, 16</xref>
        ] analysed how to generate and present automation
recommendations in IoT scenarios. However, how to generate, present, and explain recommendations
using a mobile augmented reality approach is an untapped and potentially fruitful new direction.
      </p>
      <p>2023 Copyright for this paper by its authors.</p>
      <p>
        In particular, this paper presents two main contributions. The first is the introduction of the ARACS
(Augmented Reality Automation Creation and Simulation) platform [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], an effort to empower users
to better understand, configure, and modify automations in their everyday environments with the
support of recommendations and a context simulator/debugger. The second is a discussion about how
to improve the transparency of the ARACS system through the application of an augmented reality
explainable AI framework.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Augmented Reality Automation Creation and Simulation</title>
      <p>The proposed platform is an Android application developed in Unity using ARFoundation1, a library
that enables the development of multi-platform AR apps interfacing with the platform's native AR SDK
such as ARCore, ARKit, and OpenXR. The application exploits the camera of the mobile phone to
capture the user’s environment, and place visualization over the physical objects available in the current
context which functionalities can be used to define automations. The main functionalities of the
application are “Create automation” and “Explore environment”. The first allows users to personalise
the environment with automation rules involving objects and services while moving about in their
spaces.</p>
      <p>The configuration of the automation (see Figure 1) is performed in a situated and dynamic way: at the
start of the application, a visualisation is placed over the objects that can be used in the automations
(Figure 1, Left). Selecting one of these visualisations, a panel describing the functionality that can be
used as a trigger or action is shown (Figure 1, Centre-left). After the configuration, the visualisation
over the object changes indicating its use in the current automation through a bright colour and a particle
effect (Figure 1, Centre-right). Also, panels with recommendations for triggers and actions related to
the inserted configuration are placed over the other objects (Figure 1, Right). The user can then continue
the visit, moving to the next object she wants to use in the automation and configuring it, repeating this
process until the automation is completed. Supporting information can be presented on request, for
instance showing the partial automation configuration done at the current moment. The “Explore
environment” functionality is used to make the relation between the automations and the real objects
more transparent and perceivable. When using this functionality, natural language descriptions of the
rules defined by the user are displayed over the corresponding objects.</p>
      <p>
        The platform provides two types of intelligent support. The first is rule elements recommendations.
In the context of EUD for smart home configuration, recommendations should help users to define the
joint behaviours of the IoT devices and services. Hence, the system should present users with
1 https://unity.com/unity/features/arfoundation, last accessed 2023/05/21.
recommendations during the configuration of these behaviours, providing diverse options to complete
them. The adopted approach is to generate personalised recommendations starting from a dataset2 of
automation rules. The recommender system matches the user representation and what she is currently
defining (the recommendation context, represented using a binary vector where each trigger or action
functionality used in the rule is assigned a 1, and those not present a 0) with the automations in the
dataset, also leveraging the similarity between the natural language transcription of the context and the
textual parts of automations defined by other users. The textual similarity match is performed using a
large language model, BERT [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. This recommendations approach has been implemented using neural
collaborative filtering [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. This deep learning architecture leverages neural networks to model the
interaction between the users and the items to suggest, and it is hence capable of learning complex
nonlinear relationships between them. We extended the architecture to consider other inputs, such as the
context representation and the embeddings of its natural language descriptions generated by BERT. The
output of the model is a score indicating how well a rule element to recommend fits with the various
inputs provided.
      </p>
      <p>
        The second type, which is currently under development, is a rule simulation and debugger. The rule
simulation is an extension of the “Explore environment” functionality, to consider and visualise also
the state of the environment (the context). It will allow loading the current context or some predefined
context snapshots (for instance, summer morning, weekday night, dinner with friends), and visualising
the associated values over the various object in the environment. The users can modify these contextual
values (for instance, changing the time, or acting on the temperature) to check whether some automation
will or will not activate in the environment, providing them a “Why/Why not” [
        <xref ref-type="bibr" rid="ref10 ref12">10, 12</xref>
        ] supporting tool.
Furthermore, the possibly problematic relations between automation rules will be made perceivable. As
reported in previous work [
        <xref ref-type="bibr" rid="ref4 ref9">4, 9, 17</xref>
        ] and summarised in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], three main unexpected relations between
automations can lead to logical errors, namely, rule prevention (when the execution of a rule prevents
the triggering of another one), rule collisions (when the outcome of two rules are in contrast), and
unexpected rule chains (when the activation of a rule cause another one to trigger). In general, to detect
these problems an intermediate graph representation of the automations active in the system (hence that
will be executed if the triggering conditions are met) is needed. An approach to detect these errors and
make them perceivable in the environment will be developed together with the rule simulation.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Application of the XAIR Framework to the ARACS Platform</title>
      <p>In the following, the XAIR framework, its key factors, and the steps to assess them will be introduced.
Then, an application of the framework to the ARACS platform will be analysed to determine how to
present AR explanations in two use-case scenarios.
3.1.</p>
    </sec>
    <sec id="sec-4">
      <title>XAIR Framework</title>
      <p>We based the design of the augmented reality explanations on the XAIR design framework [15]. XAIR
aims to support the design of effective XAI experiences for AR, addressing the key concepts needed to
provide explanations of AI output. The framework is the result of an analysis of the literature, a
largescale end-user survey, and workshop iterations with designers and experts in relevant fields. It is based
on a definition of the problem space (“When”, “What”, and “How” to explain) and the assessment of
the key factors needed to determine the answers to these questions.</p>
      <p>The design space is structured as follows. On the “When” dimension, the two main aspects are the
availability of the explanation (whether the explanation should be always ready or not) and the delivery
(when to show it). Since the availability should always be ready to improve user experience, the
decisions are about the delivery timing. An explanation can be automatically presented or shown when
requested by the user, and both approaches can be valid depending on the use case. The second
dimension is the “What”. It articulates in content and detail level. About the content, seven types of
explainable content were identified: input/output details (such as data sources), why/why not (model
features or logic that had let or not to an outcome), how (overviews of the algorithm or model provided
2 https://github.com/andrematt/trigger_action_rules, last accessed 2023/05/21.
e.g. with a graph or text), certainly (e.g., the confidence score), example (for instance, similar inputs
that lead to same output), what if (demonstrations of the effects of changing the input), and how to
(explaining how to change the input to obtain an output), delivered possibly via local explanation.
Concerning the detail, the priority is to provide explanations that expand users’ prior knowledge or
fulfil their immediate needs, also considering the cognitive capability available and the possibility of
presenting personalized and detailed information. About the “How” dimension, the identified levels
are the modality (visual and audio emerge as the most suited) and the paradigm, where the larger design
space concerns the visual modality. The design aspects to consider in the visual modality are the format
(textual and graphical, eventually combined) and the pattern type (implicit, explicit). Implicit pattern
refers to naturally blending the additional information with the referring object, for instance directly
highlighting an anomaly with a circle or an arrow over it, while explicit refers for instance to an
extended dialogue window.</p>
      <p>The second part of the framework consists of the steps to assess the key factors concerning the
defined dimensions. For the “When” dimension, the decision is about when to present the
autotriggered explanation (by default, the explanation should be on-demand). The first necessary condition
is that the user has enough cognitive capability and time to engage with the explanation. The second is
that at least one of the conditions is true among 1) there is a mismatch between the user expectation and
the received recommendation, hence, the user is surprised or confused; 2) the user is not familiar with
the output of the system; and 3) the system is uncertain of the output. Concerning the “What”, the
explanations should be contextualised considering the user goal (depending on what the user is doing,
a type of explanation can be more useful than another), the system goal (for instance, a recommendation
can be shown to calibrate the system to the user taste, to propose alternatives, to help manage errors, or
to improve trust in the system), and the user profile (in particular the AI literacy). Regarding the detail
level, by default explanations should be short and focused on the why aspect, with the possibility of
providing more details upon user request. For the “How” part, the modality should normally be the
same as the outcome of the AI process, but for specific situations (e.g., when the used channel is
overloaded) an alternative one should be used. Concerning the paradigm of visual explanations, textual
should be the main explanation format, and a simple graphic such as icons could provide additional
information. More advanced graphics (such as heatmaps) could be used in detailed explanations. About
the pattern, when possible the explanation should be implicit (blended with the real environment), while
the explicit possibility represents the backup solution.
3.2.</p>
    </sec>
    <sec id="sec-5">
      <title>Recommendations during rule creation</title>
      <p>The first scenario involves the rule recommendation functionality of the ARACS platform. The user
wants to automate the morning air circulation in the living room. She configures the time the automation
should activate, and then the living room window opening action. After these operations, the
recommendation “if (condition) the humidity level of the room is more than 70%” is placed in a panel
over the multipurpose sensor in the living room, indicating that the humidity check functionality can be
used together with windows automatic opening and time checks. The user is surprised since she was
thinking about temperature or weather-related recommendations, but not humidity.</p>
      <p>Following the XAIR framework, the first dimension to assess is the “When”. Since the user is
currently defining the automation, we can assume that she has enough cognitive capability and time to
eventually engage with explanations. Then, an assessment is performed to establish whether there is
enough uncertainty (in the user or in the system) for targeting the explanation. In this scenario, different
possibly confusing situations can verify. For instance, the user can receive a suggestion whose main
goal is different from her intended goal for that automation, e.g., security instead of energy saving, or
concerning a service she had never used before. In this case, the condition for automatically presenting
an explanation is true because she has never used the “humidity level” trigger. Indeed she's surprised
because she was not even aware that the sensor had that feature. Concerning the “What” part, the first
assessment is about the System goal, which is user intent discovery (suggesting a user with new
automation possibilities that she may find useful and be unaware of). The main user goal is to resolve
the surprise since she received an unexpected recommendation. The last assessment is about the user
AI literacy, which we know from the user profile to be low. Hence, the framework’s suggested
explanation types for the intersection of the various parameters are Input/Output and Why/Why-not
explanations. Concerning the detail level, the interface can show the why as default (for instance, with
a text explaining that humidity checks are often used to automate the air circulation), and the
Input/Output can be shown as additional information. Concerning the “How”, the modality of the
explanation is visual, using text as a default. The detailed explanation can show the information that
impacted the decision to recommend this automation part (e.g., which part of the incomplete automation
inserted by the user had more weight for proposing the recommendation, or which aspect of the user
profile), or how the recommendation changes when some parameter is modified (for instance, the
automation goal, or using a default user instead of the current one). The pattern can be explicit (text
panels), with some implicit components, for instance highlighting with a bright colour the objects with
positive impact for a specific recommendation.
3.3.</p>
    </sec>
    <sec id="sec-6">
      <title>Situated automations simulation and debugging</title>
      <p>The second scenario concern using the environment simulator/rule debugger to better understand the
smart environment behaviour and eventually help the user to solve logical errors in the configured
automations. In this scenario, the user has configured the smart coffee maker to brew a coffee at the
time she wakes up, at 6:30 AM. In the morning, she finds out that the machine is on, but no coffee has
been brewed. To debug the situation, she loads the most similar environment predefined conditions,
namely the “night weekday” preset. Once loaded, the augmented representations over the various object
changes, indicating the simulated values. This scenario starts at 11 PM. She then modifies the “time”
contextual value to “fast forward” the environment’s state near her wake-up time. Reaching 6:30 AM,
she notices that the description of the coffee brewer automation is placed over the related machine, but
the panel is opaque, indicating a rule not in execution. At the same time, a dotted red connection line
appears between the visualization and another panel placed over the smart plug to which it is connected.
The panel over the plug is instead bright, indicating a rule currently in execution, which function is to
deactivate that plug at night time, between 12 AM and 7 AM, and it is hence preventing the coffee
automation to start.</p>
      <p>The definition of explanations with respect to the framework starts with the “When” aspect. In this
scenario the user is actively using the simulator to better understand what causes or prevents the
activation of automations and possibly clarify her confusion, hence explanations are automatically
triggered. For the “What” part, the main system goal, in this case, is error management since the
simulator aims to help users to better collaborate with the system and to calibrate their expectations of
the system’s capability and functioning. From the intersection of the related table in the framework, the
most suited explanation types are Input/Output, Why/Why-not, How, and Certainty. Concerning the
detail level, priority should be given to a concise explanation of the why (in this case, making clear that
the smart plug automation is preventing the coffee maker). Further details and explanation types can be
provided on request, for instance, by giving concrete examples of contexts in which the specific
automation can be activated. Concerning the “How” part, the modality is visual, using a mix of implicit
(the red dotted line connecting the objects) and explicit (the opaque or bright panels with textual
explanation) patterns.</p>
    </sec>
    <sec id="sec-7">
      <title>4. Conclusions and Future Work</title>
      <p>In this paper, we introduce ARACS, an AR platform to define IoT automations with recommendation
support. The platform provides users with dynamic suggestions on how to complete the automation
they are editing based on the specific user, context, and textual representation of the context. The
platform will include a simulator to allow users to load context snapshots and simulate the execution of
the rules and the effects between them. We then introduce XAIR, a framework that aggregates the main
XAI factors from the literature and allows for a systematic definition of the When, What, and How of
an AI explanation. Finally, we discuss how the intelligence aspects in the ARACS platform
(recommender system and automations simulator) could be made explainable by applying the XAIR
framework.</p>
      <p>
        For future work, we plan to refine the application's simulation part and introduce further features.
An example can be the automatic evolution of the context snapshots, for instance, based on predictions
from stored context data and knowledge of the environment [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and also considering the effects of the
activation of automations. We are also planning to extend the recommendation architecture to consider
further data such as user profiles and assess the solution with different TAP rules datasets. We will also
conduct user studies to assess the impact of introducing explanations into the platform.
      </p>
    </sec>
    <sec id="sec-8">
      <title>5. Acknowledgements</title>
      <p>This work has been supported by the PRIN 2017 “EMPATHY: Empowering People in Dealing with
Internet of Things Ecosystems”, https://www.empathy-project.eu/.</p>
    </sec>
    <sec id="sec-9">
      <title>6. References</title>
      <p>[15] Xu, Xuhai, Anna Yu, Tanya R. Jonker, Kashyap Todi, Feiyu Lu, Xun Qian, João Marcelo
Evangelista Belo et al. "XAIR: A Framework of Explainable AI in Augmented Reality." In
Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems, pp. 1-30.
2023.
[16] Yusuf, Imam Nur Bani, Lingxiao Jiang, and David Lo. "Accurate generation of trigger-action
programs with domain-adapted sequence-to-sequence learning." In Proceedings of the 30th
IEEE/ACM International Conference on Program Comprehension, pp. 99-110. 2022.
[17] Zhang, Lefan, Weijia He, Jesse Martinez, Noah Brackenbury, Shan Lu, and Blase Ur. "AutoTap:
Synthesizing and repairing trigger-action programs using LTL properties." In 2019 IEEE/ACM
41st international conference on software engineering (ICSE), pp. 281-291. IEEE, 2019.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Chen</surname>
            , Xuyang, Xiaolu Zhang, Michael Elliot,
            <given-names>Xiaoyin</given-names>
          </string-name>
          <string-name>
            <surname>Wang</surname>
            , and
            <given-names>Feng</given-names>
          </string-name>
          <string-name>
            <surname>Wang</surname>
          </string-name>
          .
          <article-title>"Fix the leaking tap: A survey of Trigger-Action Programming (TAP) security issues, detection techniques and solutions." Computers &amp; Security (</article-title>
          <year>2022</year>
          ):
          <fpage>102812</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Coppers</surname>
            , Sven,
            <given-names>Davy</given-names>
          </string-name>
          <string-name>
            <surname>Vanacken</surname>
            , and
            <given-names>Kris</given-names>
          </string-name>
          <string-name>
            <surname>Luyten</surname>
          </string-name>
          .
          <article-title>"Fortniot: Intelligible predictions to improve user understanding of smart home behavior</article-title>
          .
          <source>" Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies</source>
          <volume>4</volume>
          , no.
          <issue>4</issue>
          (
          <year>2020</year>
          ):
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Corno</surname>
          </string-name>
          , Fulvio, Luigi De Russis, and Alberto Monge Roffarello.
          <article-title>"RecRules: recommending IFTHEN rules for end-user development</article-title>
          .
          <source>" ACM Transactions on Intelligent Systems and Technology (TIST) 10</source>
          , no.
          <issue>5</issue>
          (
          <year>2019</year>
          ):
          <fpage>1</fpage>
          -
          <lpage>27</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Corno</surname>
          </string-name>
          , Fulvio, Luigi De Russis, and Alberto Monge Roffarello.
          <article-title>"Empowering end users in debugging trigger-action rules."</article-title>
          <source>In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>13</lpage>
          .
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Corno</surname>
          </string-name>
          , Fulvio, Luigi De Russis, and Alberto Monge Roffarello.
          <article-title>"HeyTAP: Bridging the Gaps Between Users' Needs and Technology in IF-THEN Rules via Conversation."</article-title>
          <source>In Proceedings of the International Conference on Advanced Visual Interfaces</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>9</lpage>
          .
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Coutaz</surname>
            , Joëlle,
            <given-names>and James L.</given-names>
          </string-name>
          <string-name>
            <surname>Crowley</surname>
          </string-name>
          .
          <article-title>"A first-person experience with end-user development for smart homes</article-title>
          .
          <source>" IEEE Pervasive Computing</source>
          <volume>15</volume>
          , no.
          <issue>2</issue>
          (
          <year>2016</year>
          ):
          <fpage>26</fpage>
          -
          <lpage>39</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Devlin</surname>
          </string-name>
          , Jacob,
          <string-name>
            <surname>Ming-Wei</surname>
            <given-names>Chang</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Kenton</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and Kristina</given-names>
            <surname>Toutanova</surname>
          </string-name>
          .
          <article-title>"Bert: Pre-training of deep bidirectional transformers for language understanding." arXiv preprint arXiv:</article-title>
          <year>1810</year>
          .
          <volume>04805</volume>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>He</surname>
          </string-name>
          , Xiangnan, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu, and
          <string-name>
            <surname>Tat-Seng Chua</surname>
          </string-name>
          .
          <article-title>"Neural collaborative filtering."</article-title>
          <source>In Proceedings of the 26th international conference on world wide web</source>
          , pp.
          <fpage>173</fpage>
          -
          <lpage>182</lpage>
          .
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Huang</surname>
            , Bing,
            <given-names>Hai</given-names>
          </string-name>
          <string-name>
            <surname>Dong</surname>
            , and
            <given-names>Athman</given-names>
          </string-name>
          <string-name>
            <surname>Bouguettaya</surname>
          </string-name>
          .
          <article-title>"Conflict detection in iot-based smart homes."</article-title>
          <source>In 2021 IEEE International Conference on Web Services (ICWS)</source>
          , pp.
          <fpage>303</fpage>
          -
          <lpage>313</lpage>
          . IEEE,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Kulesza</surname>
          </string-name>
          , Todd, Margaret Burnett,
          <string-name>
            <surname>Weng-Keen Wong</surname>
            , and
            <given-names>Simone</given-names>
          </string-name>
          <string-name>
            <surname>Stumpf</surname>
          </string-name>
          .
          <article-title>"Principles of explanatory debugging to personalize interactive machine learning."</article-title>
          <source>In Proceedings of the 20th international conference on intelligent user interfaces</source>
          , pp.
          <fpage>126</fpage>
          -
          <lpage>137</lpage>
          .
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Liao</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          <string-name>
            <surname>Vera</surname>
            , Daniel Gruen, and
            <given-names>Sarah</given-names>
          </string-name>
          <string-name>
            <surname>Miller</surname>
          </string-name>
          .
          <article-title>"Questioning the AI: informing design practices for explainable AI user experiences."</article-title>
          <source>In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          .
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Manca</surname>
            , Marco, Fabio Paternò, Carmen Santoro, and
            <given-names>Luca</given-names>
          </string-name>
          <string-name>
            <surname>Corcella</surname>
          </string-name>
          .
          <article-title>"Supporting end-user debugging of trigger-action rules for IoT applications</article-title>
          ."
          <source>International Journal of Human-Computer Studies</source>
          <volume>123</volume>
          (
          <year>2019</year>
          ):
          <fpage>56</fpage>
          -
          <lpage>69</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Mattioli</surname>
          </string-name>
          , Andrea, and Fabio Paternò.
          <article-title>“A Mobile Augmented Reality App for Creating, Controlling, Recommending Automations in Smart Homes</article-title>
          .” Submitted paper.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shen</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          (
          <year>2020</year>
          ).
          <article-title>Learning to Recommend Trigger-Action Rules for End-User Development</article-title>
          . In: Ben Sassi,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Ducasse</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Mili</surname>
          </string-name>
          , H. (
          <article-title>eds) Reuse in Emerging Software Engineering Practices</article-title>
          .
          <source>ICSR 2020. Lecture Notes in Computer Science()</source>
          , vol
          <volume>12541</volume>
          . Springer, Cham. https://doi.org/10.1007/978-3-
          <fpage>030</fpage>
          -64694-3_
          <fpage>12</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>