<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Component-Based and Model-Driven Approach to Deal with Non-Functional Properties through Global QoS Metrics</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Cristina</string-name>
          <email>cristinav@unex.es</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Juan F. Inglés-Romero</string-name>
          <email>juanfran.ingles@ biometricvox.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jesús Martínez</string-name>
          <email>jmcruz@lcc.uma.es</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dennis Stampfer</string-name>
          <email>&lt;lastname&gt;@hs-ulm.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Non-Functional Properties, QoS Metrics, Model-Driven Engineer-</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Alex Lotz</institution>
          ,
          <addr-line>Matthias Lutz, Christian Schlegel, Hochschule Ulm, Ulm</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Biometric Vox</institution>
          ,
          <addr-line>S.L., Murcia</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Universidad de Málaga</institution>
          ,
          <addr-line>Málaga</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Vicente-Chicote, Universidad de</institution>
          ,
          <addr-line>Extremadura, Cáceres</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>ing, Component-Based Software Development</institution>
          ,
          <addr-line>Robotics, RoQME.</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <abstract>
        <p>Non-functional properties play a key role in most software systems. There is a lot of literature on what non-functional properties are but, unfortunately, there is also a lot of disagreement and diferent points of view on how to deal with them. Non-functional properties, such as safety or dependability, become particularly relevant in the context of robotics. In the EU H2020 RobMoSys Project, nonfunctional properties are treated as first-class citizens and considered key added-value services. In this vein, the RoQME Integrated Technical Project, funded by RobMoSys, aims at contributing a component-based and model-driven tool-chain for dealing with system-level non-functional properties, enabling the specification of global Quality of Service (QoS) metrics. The estimation of these metrics at runtime, in terms of the contextual information available, can then be used for diferent purposes, such as robot behavior adaptation or benchmarking.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Component-Based Software Development (CBSD) aims at
promoting software reuse for signicfiantly reducing development time and
cost. Existing solutions are encapsulated in well-defined
components with clear (required and provided) interfaces that enable their
connection to and interoperation with other components. Building
systems out of components requires taking into account both
functional and non-functional properties. Non-functional properties
define how a system performs rather than what it does [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ].
Examples of non-functional properties include timing, dependability,
safety or resource consumption, among others. Despite the
importance of non-functional properties, there are just a few component
models explicitly supporting their specification and management
throughout the development process. In most cases, this support
is limited and, unlike the well-established solution of embodying
functional properties into interfaces, no consensus has emerged on
how to handle non-functional properties both at a component and
at a system level [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ].
      </p>
      <p>
        RobMoSys: Composable Models and Software for Robotics [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] is a
4-year Project (2017-2020), funded by the EU H2020 Research and
Innovation Program under grant agreement No. 732410. The vision of
RobMoSys is to create better models, as the basis for better tools and
better software, which then allow building better robotic systems.
RobMoSys aims at creating an open, sustainable, agile and
multidomain European robotics software ecosystem. RobMoSys seeks to
enable the composition of robotics applications with managed,
assured, and maintained system-level properties using Model-Driven
Engineering (MDE) techniques from a CBSD perspective. To achieve
its goals, RobMoSys establishes structures that enable the
management of the interfaces between diferent robotics-related domains,
diferent roles in the ecosystem, and diferent levels of abstraction.
RobMoSys financially supports, through a cascade funding scheme
scheduled in two open calls, third party contributions as means
to achieve its own objectives. RoQME: Dealing with non-functional
properties through global Robot Quality-of- Service Metrics [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] has
been one of the six selected Integrated Technical Project (ITP) to
be funded in the context of the first RobMoSys open call (out of the
thirty four proposals submitted).
      </p>
      <p>The main intended goal of RoQME is to provide robotics
software engineers with a model-driven tool-chain allowing them to:
(1) model relevant system-level non-functional properties in terms
of the (internal and external) contextual information available at
runtime; and (2) generate a RobMoSys-compliant component, ready
to provide other components with QoS metrics defined on the
nonfunctional properties, previously specified.</p>
      <p>This paper describes the RoQME foundations, laid down during
the initial stage of the project, namely: (1) the new role of QoS
Engineers and how it integrates with the other roles considered in
RobMoSys; (2) the RoQME and the RoQME-to-RobMoSys Mapping
meta-models, which gather the main modeling concepts and their
relation to those included in the RobMoSys meta-models; and the
process (including the relevant roles, models and tools) we propose
to enable the modeling (at design-time) and estimation (at runtime)
of metrics defined on system-level non-functional properties.</p>
      <p>
        RoQME will run for one year, starting March 2018. Achieving
substantial results in such a short period of time requires building on
previous results. In this vein, the RoQME partners contribute solid
background in Robotics, Component-Based Software Development,
and Model-Driven Engineering [
        <xref ref-type="bibr" rid="ref1 ref10 ref11 ref12 ref13 ref14 ref18 ref19 ref2 ref23 ref6">1, 2, 6, 10–14, 18, 19, 23</xref>
        ]. Apart
from the fruitful relationship existing among the RoQME partners,
which already resulted in some preliminary results [
        <xref ref-type="bibr" rid="ref17 ref22 ref5 ref9">5, 9, 17, 22</xref>
        ],
it is worth mentioning our close collaboration with some of the
RobMoSys partners in line with the current goals of the Project [
        <xref ref-type="bibr" rid="ref15 ref16 ref17 ref24 ref8">8,
15–17, 24</xref>
        ]. This will undoubtedly contribute to align RoQME to the
RobMoSys vision, guiding principles, and structures.
      </p>
      <p>The rest of the paper is organized as follows. Firstly, Section 2
presents an overview of the RoQME project, introducing its main
intended goals and contributions. Secondly, Section 3 introduces the
RobMoSys project and outlines how RoQME plans to integrate into
its Ecosystem, focusing on the description of the new QoS Engineer
role. Then, Section 4 introduces the main modeling concepts
gathered in the RoQME meta-models and illustrates them through some
practical examples. And, finally, Section 5 draws some conclusions
and outlines current and future works.
2</p>
    </sec>
    <sec id="sec-2">
      <title>ROQME OVERVIEW</title>
      <p>RoQME intends to support the role of QoS Engineers (see
Section 3.2), providing them with a specific QoS View that allows them
to model system-level non-functional properties according to the
RoQME meta-model (see Section 4). This new role, view and
metamodel complement and interrelate with those already defined in
RobMoSys through the so called RoQME-to-RobMoSys mapping
meta-model. This mapping aims at promoting good design
principles, such as high cohesion and loose coupling among the diferent
RobMoSys views, providing a non-intrusive way of extending the
RobMoSys meta-model, i.e., modifying the RoQME meta-model
would only imply adapting the mapping but not the RobMoSys
meta-model and, vice versa, new versions of the RobMoSys
metamodel would imply adapting the mapping, but not the RoQME
meta-model.</p>
      <p>
        RoQME will allow QoS Engineers to model context variables
(e.g., battery level) and, from them, relevant context patterns (e.g.,
“the battery level drops more than 1% per minute”). The detection
of a context pattern will be considered an observation associated
with a variable in a belief network. Belief networks will be used
to specify the dynamics of non-functional properties (e.g., power
consumption). The degree of fulfillment of these non-functional
properties will then be used to estimate the QoS metrics, obtained
as real values in the range [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ].
      </p>
      <p>RoQME aims to be application domain agnostic, providing QoS
Engineers with a compact set of modeling tools to express
systemlevel QoS metrics. However, it is being designed to be as flexible
as possible, e.g., supporting extension mechanisms that allow QoS
Engineers (or other RobMoSys roles, such as Safety Engineers or
Performance Designers) to enrich and customize the RoQME
modeling capabilities with domain-specific requirements (e.g., related
to safety, dependability, etc.).</p>
      <p>
        The RoQME tool-chain, delivered as an Eclipse plug-in, will
provide both modeling and code generation tools, enabling the creation
of RobMoSys-compliant components, readily usable in
RobMoSysbased solutions as QoS information providers (see Figure 1). This
information could then be used by other components for diferent
purposes, e.g., robot behavior adaptation or benchmarking. In this
line, a preliminary result on how to use the RoQME metrics as an
input in a reinforcement learning problem can be found in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>Internally, the generated component will estimate the value of
each non-functional property, specified in the RoQME model, by
successively processing the available contextual information, either
from internal (e.g., robot sensors) or external (e.g., web services,
other robots, etc.) sources. The contextual information received by
the component will be sequentially processed by three modules:</p>
      <sec id="sec-2-1">
        <title>DESIGN-TIME</title>
        <p>RoQME Model
• Non-functional properties
• Context variables
• Observations based on
context patterns and rules
Mapping model
RobMoSys Structures
(models)
T
2
M</p>
      </sec>
      <sec id="sec-2-2">
        <title>RUN-TIME</title>
        <p>Global QoS Metrics Provider</p>
        <p>Abstract non-functional properties</p>
        <p>Estimations
Probabilistic Reasoning</p>
        <p>Observations
Event processing</p>
        <p>Events
Context monitoring</p>
        <p>E.g., the robot task
sequencer may
use the resulting
QoS metrics for
deciding among
alternative tasks,
activating or
deactivating certain
components, or
Communication setting component</p>
        <p>Objects params within their</p>
        <p>Context information allowed range
(1) a context monitor that will receive raw contextual data and will
produce context events (e.g., changes in the battery level); (2) an
event processor that will search for the event patterns specified in
the RoQME model and, when found, will produce observations (e.g.,
battery is draining too fast); and, finally (3) a probabilistic reasoner
that will compute a numeric estimation for each metric (i.e., the
degree of fulfillment of each non-functional property).</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 ROQME IN THE CONTEXT OF ROBMOSYS</title>
      <p>RoQME focuses on the modeling (at design-time), management and
measurement (at runtime) of non-functional properties. To achieve
it, RoQME extends the core structures, roles and views, laid down by
RobMoSys, by defining the RoQME meta-models (later introduced
in Section 3.2 and a new QoS Engineer role, which is provided with
a new modeling view for describing the non-functional aspects of
robotic applications.</p>
      <p>Before detailing the activities carried out and the models
developed by the QoS Engineers, let us briefly review the main RobMoSys
principles, structures and roles, as they define the QoS Engineers
working context.</p>
    </sec>
    <sec id="sec-4">
      <title>3.1 Main RobMoSys Tiers, Structures and Roles</title>
      <p>RobMoSys proposes an Ecosystem organized into three tiers,
arranged along levels of abstraction (see Figure 2). Tier 1, shaped
by few representative Robotics Experts, defines the overall
composition structures to which the lower tiers must conform. Tier 2,
structures particular robotics sub-domains, such as SLAM,
manipulation, object recognition, etc. Tier 2 is shaped by Domain Experts
and conforms to the foundations laid down in Tier 1. Finally, Tier 3,
conforms to the domain-structures defined in Tier 2, and provides
reusable building block (developed by Component Suppliers and
Behavior Developers), readily available to be integrated (by System
Builders) into diferent robotic systems.</p>
      <p>RobMoSys considers a large number of loosely interconnected
participants that depend on each other for their mutual efectiveness
and individual success. RobMoSys is about managing the interfaces
between diferent roles (Domain Experts, System Architects,
Component Suppliers, Behavior Developers, System Builders, etc.) and
separate concerns in an eficient and systematic way.</p>
      <p>According to the information available in the RobMoSys Wiki1,
System Architects define the functional requirements of robotic
1https://robmosys.eu/wiki
applications in terms of Service Wishes (e.g., navigation, location,
handover, etc.) and create Service Links among them when needed.
Service Links (specified as uses relationships) identify
componentindependent inter-service dependencies (i.e., if a Service Wish A
depends on the existence of another Service B, then a relationship
"A uses B" needs to be modeled). Each Service Wish, defined by the
System Architect in Tier 3, is an instancesOf a Service Definition ,
previously modeled by a Domain Expert in Tier 2. Service
definitions are reusable artifacts (at least within a robotics sub-domain)
that can be instantiated as many times and in as many applications
as needed.</p>
      <p>In order to realize the Service Wishes defined by the System
Architect, the System Builder selects applicable components and
behaviors (task plots) from the RobMoSys Ecosystem (developed
by Component Suppliers and Behavior Developers, respectively)
and connects them appropriately to obtain the final application.</p>
      <p>This (very briefly) summarizes the typical workflow that needs to
be followed to come up with a robotics application according to the
RobMoSys structures and guidelines (see Figure 3). The following
section introduces the new role of the QoS Engineers, contributed
by RoQME, and details how they interact with the other roles within
the RobMoSys Ecosystem.
3.2</p>
    </sec>
    <sec id="sec-5">
      <title>QoS Engineers in Action</title>
      <p>Both functional and non-functional requirements should respond
to customer or business needs, either directly or indirectly. In this
sense, RoQME provides the means to support: (1) the evaluation of
non-functional requirements, e.g. to check statements such as "the
robot should perform at least GOOD with respect to PERFORMANCE";
(2) benchmarking, e.g. to test the impact of diferent robot
realizations on SAFETY ; and (3) self-adaptation, e.g., the robot could
select, at runtime, its navigation strategy so that PERFORMANCE is
maximized. Therefore, non-functional properties and the metrics
defined to quantify them, ofer many possibilities, from assessing
requirements fulfillment to dynamic adaptation of the robot
behavior.</p>
      <p>Figure 3 shows an overview of the RoQME and RobMoSys roles,
models and relationships. In the following, we describe the process
by presenting the actions of the roles involved in relation to RoQME.
(1) Domain Experts could define relevant domain-specific
nonfunctional properties specifications in terms of reusable RoQME
models.
(2) QoS Engineers can search and select (one or more) existing
non-functional properties specifications from the Ecosystem.
The selected properties will be added to their RoQME models,
together with their associated Contexts and Observations.
(3) QoS Engineers model application-specific non-functional
properties. From them, the following artifacts will be
automatically generated:
• A Service Definition, in order to make the metrics
calculated on the diferent non-functional properties available
to other components as a service.
• A Service Wish (as an instance of the previous Service
Definition). This Service Wish will be available to the System
Architect in case he/she wants to create a Service Link
(i.e., a use dependency, for example, for benchmarking or
adaptation purposes) from some of the Service Wishes
previously included in the System Service Architecture Model.
Note that the generated Service Wish will be realized by
the “QoS Metric Provider” Component, also generated by
the RoQME generation engine (in a later step). Thus, this
component will be available to the System Builder in order
to fulfill the corresponding Service Wish.
(4) QoS Engineers select relevant Contexts by searching among
the Service Definitions available in the Ecosystem (i.e.,
context providers). For each of these contexts:
• A new element will be created in the RoQME-to-RobMoSys
(R2R) Mapping Model with a reference both to the Context
and to the corresponding Service Definition. The R2R
Mapping Model conforms to the R2R Mapping Meta-Model,
which provides a loose coupling mechanism between the
RoQME and the RobMoSys modeling concepts (i.e., in case
any of the two meta-models is modified or evolves, the
other will remain unaltered; only the mapping meta-model
will need to be modified accordingly).
• A Service Wish will be automatically generated and added
to the RoQME Model as an instance of the
corresponding Service Definition. This Service Wish will need to be
later realized by the System Builder by selecting the
appropriate Component/Task Plot (context provider) from
the RobMoSys Ecosystem.
(5) QoS Engineers define application-specific Observations in
terms of one or more of the previous Contexts. An
Observation is an evidence reinforcing (or undermining) the belief
that the system is optimal in terms of one or more of the
non-functional properties previously defined.
(6) The QoS Engineer generates the "QoS Metric Provider"
Component from the resulting RoQME Model and makes it
available to the System Builder.
(7) In order to realize the Service Wishes included both in the
System Service Architecture Model (developed by the System
Architect) and in the RoQME Model (developed by the QoS
Engineer), the System Builder selects applicable components
and behaviors (task plots) from the RobMoSys Ecosystem
(provided by Component Suppliers and Behavior Developers,</p>
      <p>Domain Expert</p>
      <p>Domain-Specific
RoQME model
respectively) and connects them appropriately to obtain the
ifnal application.
(8) The System Builder must also add the "QoS Metric Provider"
Component, generated from the RoQME Model, which will
provide Global Robot QoS Metrics at runtime; appropriately
connect this component to the required context providers
(either components, Knowledge Base, ...); and eventually
connect the resulting metrics to those components making
use of them (if any).</p>
      <p>
        Finally, it is worth noting that the generated component will
provide information about (1) the metric computed for each
nonfunctional property defined in the RoQME model; (2) a ranking of
observations depending on their influence on the metric values;
and (3) when possible, information about the degree of confidence
associated to each metric, depending on the availability, reliability
and uncertainty [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] of the context sources.
      </p>
    </sec>
    <sec id="sec-6">
      <title>4 THE ROQME META-MODELS</title>
      <p>As previously mentioned, RoQME defines two meta-models: (1) the
RoQME meta-model, responsible for the definition of Non-Functional
Properties, Contexts and Observations; and (2) the RoQME-to-RobMoSys
mapping meta-model, responsible for binding each Context defined
in a RoQME model with the RobMoSys Service Definition acting as
the corresponding context provider.</p>
      <p>The RoQME meta-model has been divided into four packages:
• The Documentation Package, which provides users with
elements to annotate the main RoQME modeling concepts,
enabling the later generation of their associated
documentation;
• The Datatypes Package, which provides users with the
foundations of the modeling language, i.e., sentences, data types,
typed variables and values;
• The Expressions Package, which provides users with the
ca</p>
      <p>pability of defining logical and arithmetical expressions; and
• The Kernel Package, which specifies the main RoQME
modeling concepts, such as, context variables, properties and
observations, among others.</p>
      <p>Figure 4 shows an excerpt of the most relevant concepts included
both in the RoQME meta-model (highlighted in green) and in the
RoQME-to-RobMoSys mapping meta-model (those highlighted in
blue). The later define the mapping between the RoQME and the
corresponding RobMoSys elements (highlighted in red).</p>
      <p>A RoQME model is mainly composed of Contexts, Properties
(derived from TypedVariables), and Observations (derived from
Sentences). Contexts represent the contextual information provided
by the sensors or by other components included in the robot
architecture (PrimitiveContext) or by a combination of these primitive
context through a complex expression (DerivedContext). Lines 1–
3 in Figure 5 declare three primitive contexts, whereas Lines 4–7
declare a derived context of type enum, obtained in terms of one of
the previous primitive contexts.</p>
      <p>
        A RoQME Property represents the degree of fulfillment of a
non-functional property. They are defined as a particular type of
Belief Variables (i.e., variables that store the output probability of
a belief network). The value of a property changes at runtime in re- 1 c o n t e x t t e m p e r a t u r e : number
sponse to diferent Actions, namely: SetVariable, ClearEvidence 2 c o n t e x t s t a t e : enum { TOO_HOT , FINE , TOO_COLD }
and SetEvidence actions. Lines 9–14 in Figure 5 show two example 3 c o n t e x t m o t i o n D e t e c t e d : e v e n t t y p e
properties: usability and efectiveness . Each one takes a belief value 4 c o n t e x t motion : enum { MOTIONLESS , MOVING }
in the range [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ]. However, the value of the later is transformed 5 : = c o u n t ( m o t i o n D e t e c t e d , 1 min ) &gt; 5 ?
into an enumerated value (LOW, MEDIUM or HIGH ) according to 6 motion : : MOVING : motion : : MOTIONLESS
the OutputTransformation included its definition. 7
      </p>
      <p>Finally, Observations specify relevant context patterns and how 8
they influence ( REINFORCE or UNDERMINE) and to what extent 9
(VERY_HIGH, HIGH, MEDIUM, etc.) in one or more Properties (see 10
Figure 5, lines 16–20). 11</p>
      <p>
        The RoQME-to-RobMoSys mapping models include one Moni- 12
tor per Context defined in the RoQME model. Each of these context 13
is then bound to the corresponding RobMoSys CommServiceDef- 14 o b s e r v a t i o n o b s 1 :
inition, indicating which AtributeDefinition of its Communi- 15 motion = MOVING r e i n f o r c e s e f f e c t i v e n e s s
cationObject will provide the required contextual information. It is 16 o b s e r v a t i o n o b s 2 : t e m p e r a t u r e &gt; 40 {
worth noting that RobMoSys AttributeDefinitions are not annotated 17 s e t s s t a t e = TOO_HOT ,
with information about the units or the precision of the information 18 undermines u s a b i l i t y }
they store. In order to cope with this, RoQME is considering the
approach proposed in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
p r o p e r t y u s a b i l i t y
p r o p e r t y e f f e c t i v e n e s s : enum {LOW, MEDIUM , HIGH } : =
b e l i e f &gt; 0 . 7 ? HIGH :
b e l i e f &gt; 0 . 3 ? MEDIUM :
LOW
      </p>
    </sec>
    <sec id="sec-7">
      <title>5 CONCLUSIONS AND FUTURE WORK</title>
      <p>Nowadays, component-based development is a commonly accepted
approach to design, build, manage and evolve robotics software.
The critical nature of this kind of software systems makes it
necessary to deal with diferent non-functional properties at runtime,
such as safety, performance or dependability, among others. The
RoQME ITP is contributing to the EU H2020 RobMoSys Project with
a model-driven tool-chain enabling the specification of system-level
non-functional properties by so-called QoS Engineers. This new role
whithin RobMoSys is aimed at defining application-specific
observations (evidences which reinforce or undermine the non-functional
properties previously modeled as relevant for that application) in
terms of the contextual information available. The RoQME model
then guides a fully automated code generation process that results
in a QoS metrics provider component, which may be used by other
RobMoSys-compliant components for diferent purposes, such as
robot behavior adaptation or benchmarking.</p>
      <p>Currently, the RoQME team is working in the support software
on which the generated QoS metrics provider will rely, i.e., the
software in charge of (1) monitoring the context; (2) identifying
relevant context patterns; and (3) estimating the value of each
nonfunctional property in terms of the positive or negative influence
of the identified context patterns, according to the observations
included in the RoQME models.</p>
      <p>Future work will focus on validating the RoQME tool-chain with
real world complex scenarios involving industrial and social
assistive robots. The definition of pertinent non-functional properties
for these diferent areas of application in robotics will help us refine
the expressiveness of the RoQME modeling language, along with
the robustness of the QoS metrics provider and the accuracy of the
non-functional properties estimations.</p>
      <p>
        All the RoQME partners are pledged to making the knowledge
generated in the course of the Project as widely and freely
available as possible for subsequent research and development. For this
reason, the Project partners are fully committed to open-access
and open-source. Actually, all the Project results will be
punctually announced through the Project social networks (Twitter:
@RoQME_ITP, LinkedIn: RoQME Group, or ResearchGate: RoQME
Project), and made publicly available through the dedicated project
web page [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], allocated within the RobMoSys website [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
    </sec>
    <sec id="sec-8">
      <title>ACKNOWLEDGMENTS</title>
      <p>The RoQME Integrated Technical Project has received funding from
the European Union’s H2020 Research and Innovation Programme
under grant agreement No. 732410, in the form of financial support
to third parties of the RobMoSys Project.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Alonso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Pastor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sánchez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Álvarez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Automatic Code Generation for Real-Time Systems: a Development Approach based on Components, Models, and</article-title>
          <string-name>
            <given-names>Frameworks. Revista</given-names>
            <surname>Iberoamericana de Automática e Informática</surname>
          </string-name>
          <article-title>Industrial (RIAI) 9</article-title>
          ,
          <issue>2</issue>
          (
          <year>2012</year>
          ),
          <fpage>170</fpage>
          -
          <lpage>181</lpage>
          . https://doi.org/ 10.1016/j.riai.
          <year>2012</year>
          .
          <volume>02</volume>
          .010
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Alonso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ortiz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Pastor</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Álvarez</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>V3CMM: a 3-View Component Meta-Model for Model-Driven Robotic Software</article-title>
          .
          <source>Journal of Software Engineering for Robotics</source>
          <volume>1</volume>
          ,
          <issue>1</issue>
          (
          <year>2010</year>
          ),
          <fpage>3</fpage>
          -
          <lpage>17</lpage>
          . http://joser.unibg.it/index. php/joser/article/view/18
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>Burgueño</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Mayerhofer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Vallecillo</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Using Physical Quantities in Robot Software Models</article-title>
          .
          <source>In Proc. 1st ACM/IEEE International Workshop on Robotics Software Engineering</source>
          .
          <fpage>23</fpage>
          -
          <lpage>28</lpage>
          . https://doi.org/10.1145/3196558. 3196562
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cámara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Peng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Garlan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Schmerl</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Reasoning about sensing uncertainty and its reduction in decision-making for self-adaptation</article-title>
          .
          <source>Science of Computer Programming</source>
          <volume>167</volume>
          (
          <year>2018</year>
          ),
          <fpage>51</fpage>
          -
          <lpage>69</lpage>
          . https://doi.org/10.1016/j.scico.
          <year>2018</year>
          .
          <volume>07</volume>
          .002
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          et al.
          <year>2018</year>
          .
          <article-title>RoQME: Dealing with Non-Functional Properties through Global Robot QoS Metrics</article-title>
          .
          <source>In Proc. XXIII Jornadas de Ingeniería del Software y Bases de Datos (JISBD'18)</source>
          . SISTEDES.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Gutiérrez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Romero-Garcés</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Bustos</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Progress in RoboComp</article-title>
          .
          <source>Journal of Physical Agents</source>
          <volume>7</volume>
          ,
          <issue>1</issue>
          (
          <year>2013</year>
          ),
          <fpage>39</fpage>
          -
          <lpage>48</lpage>
          . https://doi.org/10.14198/JoPha.
          <year>2013</year>
          .
          <volume>7</volume>
          .1.
          <fpage>06</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Espín</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Jiménez-Andreu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Font</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>VicenteChicote</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Towards the use of Quality-of-Service Metrics in Reinforcement Learning: A robotics example</article-title>
          .
          <source>In Proc. 5th International Workshop on Model-driven Robot Software Engineering (MORSE'18)</source>
          ,
          <source>in conjunction with MODELS</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lotz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Schlegel</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-Functional Properties</article-title>
          .
          <source>In Proc. 3rd International Workshop on Domain-Specific Languages and models for ROBotic systems (DSLRob-12)</source>
          . https://arxiv.org/pdf/1303.4296.pdf
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Romero-Garcés</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>J.</given-names>
            <surname>Martínez</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>A Model-Driven Approach to Enable Adaptive QoS in DDS-Based Middleware</article-title>
          .
          <source>IEEE Transactions on Emerging Topics in Computational Intelligence</source>
          <volume>1</volume>
          ,
          <issue>3</issue>
          (
          <year>June 2017</year>
          ),
          <fpage>176</fpage>
          -
          <lpage>187</lpage>
          . https://doi.org/10.1109/TETCI.
          <year>2017</year>
          .2669187
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>A Component-Based Architecture Template for Adaptive System Design</article-title>
          .
          <source>In Proc. XVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD'11)</source>
          . SISTEDES.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Towards a Formal Approach for Prototyping and Verifying Self-Adaptive Systems</article-title>
          .
          <source>In Advanced Information Systems Engineering Workshops. CAiSE</source>
          <year>2013</year>
          ,
          <string-name>
            <surname>Sofer P. Franch</surname>
            <given-names>X</given-names>
          </string-name>
          . (Ed.).
          <source>Lecture Notes in Business Information Processing</source>
          , Vol.
          <volume>148</volume>
          . Springer, Berlin, Heidelberg,
          <fpage>432</fpage>
          -
          <lpage>446</lpage>
          . https://doi.org/10.1007/978-3-
          <fpage>642</fpage>
          -38490-5_
          <fpage>39</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Morin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O.</given-names>
            <surname>Barais</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Using Models@Runtime for Designing Adaptive Robotics Software: an Experience Report</article-title>
          .
          <source>In Proc. 1st International Workshop on Model-Based Engineering for Robotics (RoSym'10)</source>
          ,
          <source>in conjunction with MODELS</source>
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Morin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O.</given-names>
            <surname>Barais</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Towards the Automatic Generation of Self-Adaptive Robotics Software: An Experience Report</article-title>
          .
          <source>In 2011 IEEE 20th International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises</source>
          .
          <fpage>79</fpage>
          -
          <lpage>86</lpage>
          . https://doi.org/10.1109/WETICE.
          <year>2011</year>
          .54
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Troya</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Vallecillo</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Prototyping component-based self-adaptive systems with Maude</article-title>
          .
          <source>In Proc. XVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD'12)</source>
          . SISTEDES.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A.</given-names>
            <surname>Lotz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Stampfer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lutz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Schlegel</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Towards a Stepwise Variability Management Process for Complex Systems: A Robotics Perspective</article-title>
          .
          <source>International Journal of Information System Modeling and Design</source>
          <volume>5</volume>
          ,
          <issue>3</issue>
          (
          <year>2014</year>
          ). https://doi.org/10.4018/ijismd.2014070103
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>A.</given-names>
            <surname>Lotz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Schlegel</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Managing Run-Time Variability in Robotics Software by Modeling Functional and Non-functional Behavior</article-title>
          .
          <source>In Enterprise, Business-Process and Information Systems Modeling</source>
          , Nurcan S. et al.
          <source>(Ed.). Lecture Notes in Business Information Processing</source>
          , Vol.
          <volume>147</volume>
          . Springer, Berlin, Heidelberg,
          <fpage>441</fpage>
          -
          <lpage>455</lpage>
          . https://doi.org/10.1007/ 978-3-
          <fpage>642</fpage>
          -38484-4_
          <fpage>31</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>M.</given-names>
            <surname>Lutz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Stampfer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lotz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Schlegel</surname>
          </string-name>
          . In press.
          <article-title>Managing Variability as a Means to Promote Composability: A Robotics Perspective</article-title>
          .
          <source>In New Perspectives on Information Systems Modeling and Design</source>
          ,
          <string-name>
            <surname>A. M.</surname>
          </string-name>
          <article-title>Rosado da Cruz and M. E</article-title>
          . Ferreira da Cruz (Eds.).
          <source>IGI-Global.</source>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>J.</given-names>
            <surname>Martínez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Romero-Garcés</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Bandera</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Bandera</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Nerve: a lightweight middleware for quality-of-service networked robotics</article-title>
          .
          <source>In Proc. 8th International Conference on Information Technology: New Generations (ITNG)</source>
          .
          <volume>655</volume>
          -
          <fpage>660</fpage>
          . https://doi.org/10.1109/ITNG.
          <year>2011</year>
          .116
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>J.</given-names>
            <surname>Martínez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Romero-Garcés</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Bandera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Marfil</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Bandera</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>A DDS-based middleware for quality-of-service and high-performance networked robotics</article-title>
          .
          <source>Concurrency and Computation: Practice and Experience</source>
          <volume>24</volume>
          ,
          <issue>16</issue>
          (
          <year>2012</year>
          ),
          <fpage>1940</fpage>
          -
          <lpage>1952</lpage>
          . https://doi.org/10.1002/cpe.2816
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>RobMoSys EU H2020</surname>
          </string-name>
          <article-title>Project</article-title>
          .
          <article-title>(</article-title>
          <year>2017</year>
          -
          <fpage>2020</fpage>
          ).
          <article-title>RobMoSys: Composable Models and Software for Robtics Systems - Towards an EU Digital Industrial Platform for Robotics</article-title>
          .
          <source>Retrieved July 2</source>
          ,
          <year>2018</year>
          from http://robmosys.eu
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>RoQME</given-names>
            <surname>Integrated Technical Project</surname>
          </string-name>
          .
          <article-title>(</article-title>
          <year>2018</year>
          -
          <fpage>2019</fpage>
          ).
          <article-title>RoQME: Dealing with nonfunctional properties through global Robot Quality-of- Service Metrics</article-title>
          .
          <source>Retrieved July 2</source>
          ,
          <year>2018</year>
          from http://robmosys.eu/roqme/
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>A.</given-names>
            <surname>Romero-Garcés</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Martínez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Vicente-Chicote</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Self-adaptive quality-of-service in distributed middleware for robotics</article-title>
          .
          <source>In Proc. 2nd International Workshop on Recognition and Action for Scene Understanding (REACTS</source>
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>A.</given-names>
            <surname>Romero-Garcés</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Manso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Gutiérrez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cintas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Bustos</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Improving the life cycle of robotics components using Domain Specific Languages</article-title>
          .
          <source>In Proc. 2nd International Workshop on Domain-Specific Languages and models for ROBotic systems (DSLRob'11)</source>
          . https://arxiv.org/pdf/1301.6022.pdf
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>C.</given-names>
            <surname>Schlegel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lotz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lutz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Stampfer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Inglés-Romero</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>VicenteChicote</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Model-driven software systems engineering in robotics: Covering the complete life-cycle of a robot</article-title>
          .
          <source>it - Information Technology 57, 2 (March</source>
          <year>2015</year>
          ). https://doi.org/10.1515/itit-2014
          <source>-1069</source>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sentilles</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Managing extra-functional properties in component-based development of embedded systems</article-title>
          .
          <source>Ph.D. Dissertation</source>
          . Mälardalen University. ISBN:
          <fpage>978</fpage>
          -
          <lpage>91</lpage>
          -7485-067-3.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>