SHORE: A Model-driven Approach That Combines Goal, Semantic and
Variability Models for Smart HOme self-REconfiguration
Denisse Mu
˜
nante
1 a
, Bruno Traverson
2
, Sophie Chabridon
3 b
and Amel Bouzeghoub
3 c
1
ENSIIE & SAMOVAR,
´
Evry, France
2
EDF R&D, Saclay, France
3
SAMOVAR, T
´
el
´
ecom SudParis, Institut Polytechnique de Paris, Evry, France
Keywords:
Goal-orientation, Ontology, Feature Models, Smart Home, Self-reconfiguration.
Abstract:
Smart Homes, and more generally the Internet of Things (IoT), are gaining more and more audience, but this
kind of environment is still challenging on several aspects. Semantic representations, mainly ontologies, have
been used to cope with the complexity and lack of interoperability due to the wide variety of objects and
services. However, these semantic representations do not permit a fine description of variability and evolution
to achieve particular objectives. Therefore, in this paper, we introduce a model-driven approach, so-called
SHORE for Smart HOme self-REconfiguration, which addresses these limitations and covers the complexity
and variability of Smart Homes allowing automated reconfiguration guided by their goals. Thus, SHORE
includes artifacts, based on goal, semantic and feature models, that are used at design-time to conceptualise
Smart Homes, their variants and goals. Whilst, at runtime, SHORE exploits these artifacts to detect situations
that require reconfiguration, i.e., detect deviations from their goals, and then to calculate optimal reconfigu-
ration plans to cope with these situations.
1 INTRODUCTION
A Smart Home relies on information and communi-
cation technologies for controlling household appli-
ances and other domestic equipments remotely. It is
becoming possible to adapt the behavior of a house
to the habits of its residents. Dynamic adaptation can
take place as soon as some change is detected, like
a decrease of the external temperature requiring to
switch on the heating system in order to keep indoor
temperature comfortable. The automation degree of
a Smart Home can be very high by defining elabo-
rated rules and targeted goals, related to the expected
temperature of the house for instance, in order to
provide added-value services to the residents. Thus,
self-regulation of the Smart Home services could be
a good means when any deviation from the Smart
Home goals is detected.
The dynamic adaptation of a system is con-
ceived as a way to avoid or correct the degrada-
tion of its quality of service during its execution,
a
https://orcid.org/0000-0003-2621-8342
b
https://orcid.org/0000-0002-1591-6754
c
https://orcid.org/0000-0003-4890-9005
which may be due to changes in environmental con-
ditions. A substantial research effort has been done
towards defining methods and techniques for manag-
ing self-adaptive systems (SASs). Model-driven ap-
proaches (C
´
amara et al., 2017) and in particular mo-
del@run.time methods have been proposed to spe-
cify how self-adaptive systems should react in dy-
namically changing runtime environments (Bencomo
et al., 2019; Erazo-Garz
´
on et al., 2021). Regarding
Smart Homes, self-adaptation is guided by ontolo-
gies, e.g., (Seydoux et al., 2016; Lork et al., 2019).
Ontologies allow to address the interoperability of the
wide variety of Smart Homes appliances and services.
However, challenges remain to reach a high ex-
pressiveness and ease of use of dynamic reconfigu-
ration both at design and execution times. Adaptation
rules should be expressed at a high level of abstrac-
tion to be understood by inhabitants and should be
managed dynamically to evolve with regards to mo-
difications in environment properties and user prefer-
ences. Also, even more importantly, in case of multi-
ple services operating in a same area of a Smart Home
and thus sharing a set of sensors and actuators, poten-
tially conflicting goals should be dealt with when the
Smart Home requires adaptation. One optimal solu-
328
Muñante, D., Traverson, B., Chabridon, S. and Bouzeghoub, A.
SHORE: A Model-driven Approach That Combines Goal, Semantic and Variability Models for Smart HOme self-REconfiguration.
DOI: 10.5220/0010907300003119
In Proceedings of the 10th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2022), pages 328-335
ISBN: 978-989-758-550-0; ISSN: 2184-4348
Copyright
c
2022 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved
tion should be elected among several alternatives in a
manageable and responsive way.
Therefore, our research objective concerns the
building of a tool-supported approach for the
Smart HOme services REconfiguration, so-called the
SHORE approach. More specifically, in this paper we
focus on the following two research questions: RQ1
- How to define Smart Home variants at design-time
allowing reconfiguration at runtime? RQ2 - How to
select an optimal Smart Home variant to correct devi-
ations from goals?
To answer the first research question, we start
from the state of the art of standardised se-
mantics (i.e., ontologies) for Smart Homes, e.g.,
SAREF (Smart Appliances, 2017). Then, we inves-
tigate how to extend these standards to add notions
that allow the self-reconfiguration of Smart Home
systems, i.e., notions to define Smart Home goals,
e.g., i* (Yu, 1997), and variants using variability mo-
dels, e.g., feature models (Kang et al., 1990). Con-
cretely, starting from a goal-orientation viewpoint, we
elicit the SHORE artifacts, which are used at design-
time. Thus, SAREF
+
and FM
+
were proposed as ex-
tensions of SAREF and feature models respectively.
SAREF
+
allows to describe Smart Homes by adding
notions around their goals. Based on this descrip-
tion, automated rules to detect situations that require
adaptation can be formulated. Whilst FM
+
comple-
ments this description by adding Smart Home va-
riants. Based on these variants, we can find correct
adaptation plans to cope with detected situations.
Concerning the second research question, we ex-
plore existing techniques to exploit gathered data
when taking reconfiguration decisions in order to deal
with conflicting goals. In particular, we use the op-
timisation approach based on grammar guided ge-
netic programming that was introduced in a previous
work (Kifetew et al., 2017a; Mu
˜
nante et al., 2018).
This paper is organised as follows: Section 2
introduces the problem formulation for the self-
reconfiguration of Smart Homes services. Section 3
gives background. Section 4 describes the SHORE
approach to support this reconfiguration. Section 5
discusses related works and Section 6 identifies next
steps and concludes the paper.
2 PROBLEM FORMULATION
Roughly speaking, Smart Homes are composed of de-
vices (actuators) that offer services to make the life of
residents more pleasant. Thus, one crucial goal is to
keep user comfort high. However, Smart Homes have
been also created to accomplish other goals, for in-
stance to keep energy consumption low or at least un-
der control. These goals might be in conflict when
they cannot be reached at the same time. The po-
tential goal conflicts could be solved using priorities
and variants for services’ settings. These variants
may reach the goals at different levels of accomplish-
ment, being in the range from no compliance to full
compliance. While many techniques might be used
to manage conflicts, we focus on priorities as they
have widely shown their efficiency in other research
domains such as security (Breaux and Ant
´
on, 2008).
In this paper, we address the problem of Smart
Home self-reconfiguration at runtime, taking into
consideration priorities for Smart Homes goals and
variants for their services’ settings. This problem
involves choosing the configuration (variant) for the
Smart Home’s services that best respects the goals
and their priorities. Hence, the problem of Smart
Homes services configuration can be defined as fol-
lows. Given:
M goals for the Smart Home SmartHome
goals
=
{goal
1
,goal
2
,...,goal
M
},
M priorities for these goals (one priority per goal)
SmartHome
priorities
= {prio
1
, prio
2
,..., prio
M
},
R actuators that change the state of the Smart Home
SmartHome
actuators
= {act
1
,act
2
,...,act
R
},
P services offered by the Smart Home actu-
ators to achieve their goals (an actuator can
offer 1 or n services) SmartHome
services
=
{service
1
,service
2
,...,service
P
}.
Services dependencies are twofold: i) inclusion de-
pendency: service
a
includes service
b
and ii) exclu-
sion dependency: service
a
excludes service
b
.
Each service contains a set of configuration va-
riants. For instance: X variants for service A:
serviceA
variants
= {variant
1
,variant
2
,...,variant
X
},
and we complete the configuration variants for the
other P services,
In order to select a good combination of variants
of the Smart Home services, we should define met-
rics that will be associated to these variants. Thus, the
above problem formulation is updated to add the men-
tioned metrics, henceforth called quality attributes
(QAs), as follows. Given:
S QAs associated to each configuration variant
SmartHome
QualityAttributes
= {qa
1
,qa
2
,...,qa
S
},
2 operators for evaluating the QAs {min,max}, i.e.,
minimise and maximise the values of QAs,
Then, the problem formulation of the Smart
Home services configuration is defined as the
selection of the P variants (one per service) that
best respect the M Smart Home goals and their
priorities with respect to the evaluation (min or
max) of the S QAs.
SHORE: A Model-driven Approach That Combines Goal, Semantic and Variability Models for Smart HOme self-REconfiguration
329
To tackle the problem of the Smart Home
services reconfiguration, we add the following
variables. Given: the current configuration
of the P Smart Home’s services Con f ig
cur
=
{variantA
m
,variantB
n
,...,variantP
z
}, and the alert
that contains information on the deviation of any
Smart Home goal.
The decision-making for the Smart
Home reconfiguration is to find
a new configuration Con f ig
new
=
{variantA
m
0
,variantB
n
0
,...,variantP
z
0
} of
its services, such that: Con f ig
new
is better than
Con f ig
cur
. The definition of being “better” is
based on a fitness function which computes
an aggregated value of the QAs that reflects a
configuration of the Smart Home that increases
the level of achievement of its goals. Since QAs
could have different natures, a normalization
technique is employed as shown in Equations 1
and 2 ([lv,rv] represents the interval from the
minimal to maximal values that could take a
QA). The minimisation problem is translated
in a maximisation one. Then, the aggregated
fitness value of all the variants in Con f ig
new
is
calculated.
max(var
x
) =
m
i=1
prio
i
(qa
i
lv)/(rv lv) (1)
min(var
x
) =
n
i=1
prio
i
[1 (qa
i
lv)/(rv lv)] (2)
3 BACKGROUND
3.1 Ontology-based Approaches for
Smart Home
In the domain of Smart Home, several ontologies
have been proposed see the study presented by Ba-
jaj et al. in (Bajaj et al., 2018) for an in-depth sur-
vey of IoT ontologies. Among them, the Smart Ap-
pliance REFerence SAREF
1
is a reference ontology
for smart appliances. It was developed with the sup-
port of the European Commission and is published by
ETSI (Smart Appliances, 2017). SAREF mainly fo-
cuses on devices that are “tangible objects designed
to accomplish a particular task in households, com-
mon public buildings or offices” and may be further
refined as sensors or actuators. From a user perspec-
tive, a device is designed to achieve a task (Task)
1
https://forge.etsi.org/rep/SAREF
related to a feature of interest (Commodity) using
a specific strategy (Profile). In case of sensors,
devices make measurements (Measurement) related
to some properties (Property) and in specific units
(Unit of measure). Devices are accessed via an in-
terface (Service) implemented on top of function-
alities (Function) that are composed of commands
(Command) and states (State).
Some limitations of SAREF can be identified. For
instance, devices are only described as atomic, i.e.,
they are not composite, not allowing to include com-
plex devices. Also, services are not composable and
are tightly coupled to devices preventing a higher
level of abstraction. Moreover, services cannot be
customised, this means that services cannot be con-
figured/regulated according to some parameters. Fi-
nally, potential conflicts between Smart Home goals
cannot be managed.
3.2 Variability Models in the Software
Product Line
Software Product Line Engineering (SPL) follows the
principles of product lines to enable product mass
customisation. The selection of a set of suitable fea-
tures when a product is configured is a crucial activ-
ity. Such selection is typically made by exploring the
space of trade-offs along different attributes of inter-
est, for instance cost and value.
Feature models (FMs) (Kang et al., 1990) are of-
ten used in SPL to describe the commonalities and
variability of product families. In FMs, features are
hierarchically organised by means of parent-child and
tree constraint relations. Tree constraint relations are:
Mandatory, Optional, Alternative, and Or. If a fea-
ture has a Mandatory relation with its parent, it must
be included in all software configurations in which its
parent appears. If a feature has an Optional relation
with its parent, it can be optionally included in pro-
ducts in which its parent appears. A set of features
are grouped as Alternatives if exactly one of these
features has to be included when their parent appears
in the configuration. A set of features are grouped
using an Or relation if one or more of these features
can be included when their parent appears in the con-
figuration. An overview of it is shown in Figure 2 (a).
In addition to the previous relations, a FM may
also include cross-tree constraints between features:
Implies and Excludes. If featureA implies featureB,
and featureA appears in a product, then featureB must
be selected for the product. If featureA excludes fea-
tureB, and featureA appears in a product, then fea-
tureB must not be selected for the product.
(Batory, 2005) introduces a mapping between
MODELSWARD 2022 - 10th International Conference on Model-Driven Engineering and Software Development
330
FMs and grammars allowing to apply formal reaso-
ning. Our mapping from tree constraints in FMs to
grammars is summarised as follows:
Optional: OPTIONAL(F) <F_opt> ::= <F> | λ
Alternative: ALTERNATIVE(F1,F2)
<F> ::= <F1> | <F2>
Or: OR(F1, F2)
<F_or> ::= <F> <F_or> | <F> ;
<F> ::= <F1> | <F2>
And (*): AND(F1,F2) <F> ::= <F1> <F2>
(*) And was included to capture grouped features with
the same parent but without alternative/or relations.
Non-terminals are represented by names in angle
brackets while terminals are represented by quoted
strings. For the sake of simplicity, λ rules, which
mean empty, are represented by a |.
Cross-tree constraints in FMs could be suffixed
to the grammar so that they can be read and applied
by a program. In our case, we adopt the propositional
logic notation proposed by (Batory, 2005).
Attributes are associated to each feature so that
optimal product configurations can be derived using
the values of the attributes.
4 SHORE: AN APPROACH FOR
SMART HOME
SELF-RECONFIGURATION
(Weyns, 2019) introduces a conceptual model for
building SASs. It is mainly composed of the environ-
ment, managed system, managing system and adap-
tation goals components. We envision the SHORE
approach by leveraging the high level components of
Weyns’ model. The environment refers to the ex-
ternal world with which the SAS interacts. For in-
stance, the environment of a Smart Home includes the
weather, which can influence the levels of humidity,
temperature and illuminance. The managed System
comprises the application code that realises the sys-
tem domain functionality. For instance, in the case of
Smart Homes, services that switch on/off actuators or
configure their settings in order to accomplish a spe-
cific purpose such as the regulation of levels of tem-
perature, humidity or carbon emissions inside build-
ing spaces. The adaptation Goals are concerns of the
managing system over the managed system to pre-
serve certain conditions or qualities. For instance, an
adaptation goal of a Smart Home could be to keep re-
sidents comfort high. It can be translated as reaching
the acceptable values for the temperature, humidity
or level of carbon in a room. These acceptable values
could be established using standardised regulations or
users’ preferences. The managing System conducts
the managed system, it comprises the adaptation logic
that deals with one or more adaptation goals. Diffe-
rent terms may be used to refer to a managing system,
e.g., autonomic manager, adaptation engine, reflective
subsystem or controller.
The architecture of managing systems is usu-
ally based on the MAPE-K (Monitor, Analyse, Plan,
Execute, over shared Knowledge) loop (Kephart and
Chess, 2003). Monitor allows to collect the sys-
tem environmental context, besides components of
the managed system. In a Smart Home, sensors col-
lect data about current levels of temperature, humidity
and carbon concentration in a room. Using the mon-
itored data, Analysis determines if the adaptation of
the managed system is needed or not. For instance,
if the specified goals (see the adaptation goals com-
ponent) are violated, an alert is sent. Next, Plan eva-
luates a set of system variants in order to choose the
most adequate one to address the situation alerted to
by the analysis. Finally, Execute takes into account
the architecture model of the managed system in or-
der to deploy the adaptation plan at runtime. In the
Smart Home context, we should take into account the
actuators present in the house, for instance an HVAC
(Heating, Ventilation, Air-Conditioning) system.
Figure 1 introduces a goal-oriented model; it
helps us to identify agents, goals, qualities, tasks
and resources involved in the Smart Home self-
reconfiguration context. This model was designed
using the SAS elements detailed above. A goal-
oriented model highlights the interaction between
agents to achieve their goals and/or qualities. For
instance, the resident agent has goals such as G1:
change temperature settings and G2: change air ex-
traction settings to Q1: keep her/his comfort high
without impacting Q2: the saving of energy consump-
tion. To accomplish G1 and G2, resident changes
actuators settings. Notice that the tasks executed by
the resident contribute to Q1 and Q2 in a posi-
tive or negative way. Hence, the resident relies
on the managing system to keep the accomplish-
ment of Q1 and Q2 stable. To do that, the managing
system finds a new configuration (G3, G4) that al-
lows this balance by first analysing changes caused
by residents or the environment, next planning the
new configuration, and finally enacting the plan. To
plan new configurations, the managing system uses
a space of configuration variants and the current con-
figuration for the Smart Home actuators. To enact
a new configuration, the managing system relies on
the Smart Home actuators.
In the next subsections, we present the SHORE
artifacts. It is worth to mention that SHORE mainly
SHORE: A Model-driven Approach That Combines Goal, Semantic and Variability Models for Smart HOme self-REconfiguration
331
Q1: keep user
comfort high
Q2: save energy
consumption
G1: change
temperature
settings
G2: change
air extraction
settings
increase
temperature
decrease
temperature
increase
air extraction
decrease
air extraction
+
-
+
-
+
+
G5: change
temperature sensation
G6: change gas
concentration
Q2: save energy
consumption
plan
reconguration
G3: regulate
temperature
G4: regulate
air quality
+
+
enact
reconguration
Q1: keep user
comfort high
+
+
analyse
changes
quality
goal
+
-
contribution
AND/OR
decomposition
dependency
LEGEND
task
resource
current
conguration
deploy new
conguration
space of
variants
actor
resident
managing
system
environ-
ment
Smart
Home
actuators
Figure 1: Goal-oriented model for the SHORE (Smart HOme self-REconfiguration) approach.
supports the analyse and plan steps of the MAPE-K.
4.1 RQ1:
How to define Smart Home variants at design-time
allowing reconfiguration at runtime?
To answer RQ1, we use the variables identified
in the problem formulation (see Section 2): goals,
priorities of these goals, actuators, services offered
by actuators, variants of services settings, quality at-
tributes associated to these variants, the values for
quality attributes and the running/current Smart Home
services configuration. Notice that for this paper, we
only consider the reconfiguration for services of actu-
ators and not for services of sensors. It is because we
consider that actuators are the only ones to be directly
implied in the changing of the state of Smart Homes.
Whilst sensors are required to evaluate Smart Homes
states gathering environmental contextual data.
Table 1 shows how to represent the identified vari-
ables using SAREF and/or FMs formalisms. As ob-
served, not all of the variables can be expressed by
one of the two formalisms. To fill this gap, we intro-
duce an extension of SAREF, called SAREF
+
(Baghli
et al., 2018), and an extension of FMs, called
FM
+
(Mu
˜
nante et al., 2018), and we integrate them.
SAREF
+
is mainly dedicated to define semantically
the Smart Home, whilst FM
+
complements this def-
inition adding variants for the service configuration.
In SAREF
+
, actuators are explicitly defined.
The concept of service is central and is highly flex-
ible. It may be composed, a service can be a com-
position of multiple services, and even dedicated to
composition, e.g., an orchestrator service that arbi-
trates conflict among concurrent services. It may
be loosely coupled to objects (or composition of ob-
jects) enabling the implementation of a service on
a variety of objects matching the service specifica-
tion and dynamic replacement in case of failure or
other context evolution. On the other hand, in FM
+
,
actuators and services are represented as fea-
tures. Thus, services are child features of actuators.
Moreover, dependencies between services can be
expressed through the cross-tree constraints: imply
and exclude. Notice that, FMs tend to represent eve-
rything as features. In order to keep the domain spe-
cific terminology of Smart Homes, we need to use of
an ontology such as SAREF.
In SAREF
+
, a service is specified not only by
its interface but also by its dynamic behaviour using
SWRL rules. Static and dynamic aspects of services
may be customized using profile (goal) and profile
measurements, for instance priorities. A profile
measurement describes the metric used to evaluate the
achievement level of a certain profile. For instance,
in a profile such as energy efficiency or renewable
energy, profile measurements could be energy con-
sumption or type of energy source. In FM
+
, goals
are not explicitly represented but their achievement
are interpreted as the selection of an optimal configu-
ration that will be “better” than the current configura-
tion. To do that, a space of variants should be evalua-
ted. Variants are represented as features, and they
represent the alternatives for services configurations.
Thus, variants are child features of services. To se-
lect “better” configurations, we use quality attributes
(QAs) that are associated to variants. QAs and profile
measurements accomplish the same objective, how-
ever they are not applied at the same level of analysis.
Profile measurements are related to profile (see (*) in
Table 1) (i.e., goals), while QAs are related to va-
riants. The priorities of goals in FM
+
are ex-
pressed as the weights for QAs, and the values for
QAs are defined using a default value of QAs. More-
over, the minimum range value and maximum range
MODELSWARD 2022 - 10th International Conference on Model-Driven Engineering and Software Development
332
Table 1: Variables needed for the Smart Home services self-reconfiguration. Where: min = minimisation, max = maximi-
sation, - means that the variable is not supported by the formalism, + means in addition to its predecessor, and means
equivalent to its predecessor. (*) Notice that profile measurement is related to profile and not to variants.
Variable SAREF FM SAREF
+
FM
+
Goals profile select new
configuration
+ optimising
(min, max) QAs
Priorities of Goals - - priority for profile weight of QAs
Actuator device feature actuator
Service of Actuators service child features
of actuators
service / composite
service
Dependency of services - imply, ex-
clude
-
Variants for services - child features
of services
-
QAs for variants - - profile measurement
for profile (*)
attribute where
attribute is QA
Values for QAs - - - default value of
QAs
Running configuration - feature conf. -
value are used to compare QAs of different nature.
Finally, the current configuration is represented by
the feature configuration derived from a FM
+
model.
4.2 RQ2:
How to select an optimal Smart Home variant to
correct deviations from goals?
As observed, several variables are involved in the
Smart Home services self-reconfiguration. It quickly
makes the problem more complex to solve with the
exponential growth of variables when new actuators,
services and variants are added to the Smart Home.
Therefore, we address this problem as an optimi-
sation problem (an not an exact problem) allowing
the use of optimisation (meta-heuristic) techniques
widely adopted in the literature.
Changes originated by residents or the environ-
ment can provoke deviations from Smart Home goals
These deviations can be detected through SWRL
rules. If a rule antecedent holds true, it means that
an alert will be sent to the planning of the reconfigu-
ration. An alert contains information about the situ-
ation that we cope with, hence it contains constraints
to be respected. It is expressed as thresholds, for in-
stance an attribute value should be greater or less than
Xvalue. Therefore, SHORE not only finds good so-
lutions for the software configuration, in addition it
finds constrained optimal solutions for it.
For the plan step, given a FM, the software pro-
duct configuration problem involves the exploration
and selection of the set of products representing op-
timal trade-offs among the various attributes of the
FM. We propose to use the grammar guided genetic
programming (GGGP) (Kifetew et al., 2017b) for ex-
ploring the space of product configurations (see Fig-
ure 2 (a) and (b)). GGGP is a type of genetic pro-
gramming (GP) that provides a suitable representa-
tion of candidate solutions as trees that capture the re-
lationships among features imposed by the FM. Such
a representation facilitates the generation of candidate
solutions and evolving them to optimal solutions.
GP is part of Evolutionary Algorithms (EA). An
overview of a typical EA is shown in Figure 2 (a). An
EA starts by creating an initial population of individu-
als. It then evaluates each individual in the population
by means of an appropriate fitness function and as-
signs it a fitness value. Once individuals are assigned
fitness values, the EA proceeds by selecting individ-
uals (to become parents) from the current population
and subjects them to the process of recombination or
crossover resulting in offspring. The selection pro-
cess could be performed using a variety of methods
based on the fitness value. Commonly used selec-
tion procedures include fitness proportional selection,
tournament selection, and rank based selection. Once
offspring are produced via recombination, they could
further be subjected to a process of mutation with the
aim of introducing diversity into the population. The
EA then selects, from the combined pool of parents
and offspring, the individuals that form the new popu-
lation in the next generation (survivors). Survivor se-
lection could also be performed in a number of ways
(e.g., based on fitness of individuals or based on age).
This process continues to iterate until some stopping
condition is reached, in which case the EA terminates.
For the SHORE solution, as shown in Figure 2 (a),
the FM is first serialised into a grammar (as de-
SHORE: A Model-driven Approach That Combines Goal, Semantic and Variability Models for Smart HOme self-REconfiguration
333
Figure 2: The SHORE approach: (a) the optimisation process, and (b) a candidate evaluation.
scribed in Section 3), which is then fed to the GGGP-
based search module, which follows the evolution
cycle of a typical evolutionary algorithm, resulting
in a Pareto-optimal set of product configurations.
Given the nature of the problem at hand, we propose
multi-objective optimisation, in particular we adopt
the dominance-based approach as implemented in the
NSGA algorithm (Deb et al., 2000). The steps execu-
ted by the SHORE solution are described as follows:
Candidate Encoding and Initialisation. Each can-
didate solution is a set of features, represented as a
derivation tree based on the given grammar (an ex-
ample is shown in Figure 2 (b)). Collecting the leaves
of the tree, we get the set of features represented by
the candidate solution (i.e., the combination of va-
riants for the Smart Home services settings accord-
ing to SHORE). The population is initialised by ran-
domly generating candidates from the grammar follo-
wing the process of derivation (Kifetew et al., 2017b).
Candidate solutions are by definition valid with res-
pect to the FM (grammar).
Fitness Evaluation. The fitness function is computed
based on the values of QAs defined a priori. Then,
given a candidate configuration solution Con f ig =
{variant
1.n
,variant
P.m
} (see Figure 2 (b)), the fitness
value of Con f ig is composed of the aggregate values
of each QA in Con f ig. Each attribute is an objec-
tive to be optimised. For example, the sum of the
cost of all features (i.e., variants for the Smart Home
services settings) in Con f ig represents one objective,
while the sum of value levels constitutes another ob-
jective. Notice that, candidate solutions whose fitness
values or specific attributes do not respect restrictions
imposed by alerts (analysis step) are discarded.
Search Operators. Since candidate solutions are en-
coded as trees, the operators we employ are sub-
tree crossover and subtree mutation (Kifetew et al.,
2017b). Subtree crossover: given two parents, sub-
trees of the same type (rooted at the same gram-
mar non-terminal) are identified in each parent and
swapped, producing an offspring. Subtree mutation:
an individual is transferred by replacing a subtree by
a newly generated subtree from the grammar.
5 RELATED WORKS
IOT-O (Seydoux et al., 2016) supports self-
reconfigurable IOT systems by combining state-of-
the-art ontologies such as Semantic Sensor Network
(SSN). Moreover, in (Lork et al., 2019), an ontology-
based framework for the energy management in build-
ings is presented. We differ from these two re-
ferred works in the formulation of the reconfiguration
planner. While these works focus on rule-based ap-
proaches without any strategy for managing conflicts
between the adaptation goals, we address this issue
by an heuristic algorithm that manages conflicts and
scales the problem formulation.
Regarding quality metrics for SASs, QoS-
MOS (Calinescu et al., 2011) defines a service-based
application as a Discrete Time Markov Chain to iden-
tify the service configurations that satisfy the quality
goals. Moreover, MARTAS (Weyns et al., 2018) com-
bines quality models at runtime and statistical tech-
niques to predict situations that require adaptation for
IoT systems. However, no details about the decision
making process for the planning adaptation were pro-
vided. The work presented in (De Sanctis et al., 2019)
is the closest to SHORE. It allows to define QAs asso-
ciated to the devices settings that guide the selection
of optimal configurations. However, nothing is men-
tioned about potential conflicts between adaptation
goals and the technique employed to implement the
optimisation problem. SHORE includes priorities to
manage conflicts between adaptation goals and imple-
ments a GGGP for the selection of optimal configura-
tions. GGGP generates valid candidates for the given
MODELSWARD 2022 - 10th International Conference on Model-Driven Engineering and Software Development
334
grammar, thus no validation steps is needed once can-
didates are generated.
6 CONCLUSION AND NEXT
STEPS
In this paper, we introduced a new approach called
SHORE. It is composed of a set of artifacts that al-
low the reconfiguration of Smart Home services set-
tings. SHORE enhances Smart Home automation by
combining the fine grain expressiveness of ontologies
together with feature models allowing to determine at
design-time different variants of a Smart Home be-
haviour by sharing and prioritising goals. At runtime,
when conflicting goals appear in candidate configu-
rations, genetic programming allows to automate fur-
ther the decision process. Our contributions include
extensions of the SAREF ontology and FMs, the for-
mulation of a genetic programming technique that ex-
ploits these formalisms, and their implementation for
a case study using a set of open-source tools.
We are currently working on complementing the
SHORE approach to determine at runtime deviations
from Smart Home goals as early as possible. and
also to translate a calculated configuration to the tar-
get configuration of the involved appliance. Further-
more, empirical evaluations are part of our next steps
to validate the performance and usability of SHORE.
REFERENCES
Baghli, R., Najm, E., and Traverson, B. (2018). Defining
services and service orchestrators acting on shared
sensors and actuators. In 6th Int. Conf. MODEL-
SWARD, Funchal, Madeira.
Bajaj, G., Agarwal, R., Singh, P., Georgantas, N., and Is-
sarny, V. (2018). 4W1H in IoT Semantics. IEEE Ac-
cess, 6.
Batory, D. S. (2005). Feature Models, Grammars, and
Propositional Formulas. In 9th Int. Conf. on Software
Product Lines (SPLC), Rennes, France, pages 7–20.
Bencomo, N., G
¨
otz, S., and Song, H. (2019). Mo-
dels@run.time: a guided tour of the state of the art
and research challenges. Softw. Syst. Model., 18(5).
Breaux, T. D. and Ant
´
on, A. I. (2008). Analyzing regula-
tory rules for privacy and security requirements. IEEE
Trans. Software Eng., 34(1):5–20.
Calinescu, R., Grunske, L., Kwiatkowska, M. Z., Miran-
dola, R., and Tamburrelli, G. (2011). Dynamic QoS
Management and Optimization in Service-Based Sys-
tems. IEEE TSE, 37(3).
C
´
amara, J. et al. (2017). Self-aware Computing Systems:
Related Concepts and Research Areas. In Self-Aware
Computing Systems, pages 17–49. Springer.
De Sanctis, M., Spalazzese, R., and Trubiani, C. (2019).
Qos-based formation of software architectures in the
internet of things. In 13th ECSA, Paris, France, vol-
ume 11681 of LNCS. Springer.
Deb, K., Pratap, A., Agarwal, S., and Meyarivan, T.
(2000). A fast elitist multi-objective genetic algo-
rithm: NSGA-II. IEEE Trans. on Evolutionary Com-
putation, 6:182–197.
Erazo-Garz
´
on et al. (2021). Models@ runtime and internet
of things: A systematic literature review. In 2d Intl
Conf. ICI2ST. IEEE.
Kang, K., Cohen, S., Hess, J., Novak, W., and Peterson,
A. (1990). Feature-oriented domain analysis (FODA)
feasibility study. Technical Report CMU/SEI-90-TR-
21, CMU SEI.
Kephart, J. O. and Chess, D. M. (2003). The vision of auto-
nomic computing. Computer, 36(1):41–50.
Kifetew, F. M., Mu
˜
nante, D., Gorro
˜
nogoitia, J., Siena, A.,
Susi, A., and Perini, A. (2017a). Grammar based ge-
netic programming for software configuration prob-
lem. In 9th Int. Symp. on Search Based Software Eng.
SSBSE, volume 10452 of LNCS. Springer.
Kifetew, F. M., Tiella, R., and Tonella, P. (2017b). Gen-
erating valid grammar-based test inputs by means of
genetic programming and annotated grammars. Em-
pirical SW Eng., 22(2):928–961.
Lork, C., Choudhary, V., Hassan, N. U., Tushar, W., Yuen,
C., Ng, B. K. K., Wang, X., and Liu, X. (2019).
An Ontology-Based Framework for Building Energy
Management with IoT. MDPI Electronics, 8(5).
Mu
˜
nante, D., Kifetew, F. M., Gorro
˜
nogoitia, J., Schaniel,
R., Perini, A., and Susi, A. (2018). Model Driven Soft-
ware Reconfiguration by Exploiting Grammar Based
Genetic Programming. In 8th IEEE MoDRE@RE
Workshop, Banff, Canada.
Seydoux, N., Drira, K., Hernandez, N., and Monteil, T.
(2016). IoT-O, a Core-Domain IoT Ontology to Rep-
resent Connected Devices Networks. In 20th Intl.
Conf. EKAW, volume 10024 of Springer LNCS.
Smart Appliances (2017). SmartM2M; Smart Appliances;
Reference Ontology and oneM2M Mapping.
Weyns, D. (2019). Software Engineering of Self-adaptive
Systems. In Handbook of Software Engineering,
pages 399–443. Springer.
Weyns, D., Iftikhar, M. U., Hughes, D., and Matthys, N.
(2018). Applying architecture-based adaptation to au-
tomate the management of internet-of-things. In 12th
ECSA, volume 11048 of LNCS. Springer.
Yu, E. S. K. (1997). Towards modeling and reasoning sup-
port for early-phase requirements engineering. In 3rd
IEEE Intl Symp. on Requirements Engineering (RE),
Annapolis, MD, USA.
SHORE: A Model-driven Approach That Combines Goal, Semantic and Variability Models for Smart HOme self-REconfiguration
335