=Paper=
{{Paper
|id=Vol-2245/modcomp_paper_6
|storemode=property
|title=A Component-Based and Model-Driven Approach to Deal with Non-Functional Properties Through Global QoS Metrics
|pdfUrl=https://ceur-ws.org/Vol-2245/modcomp_paper_6.pdf
|volume=Vol-2245
|authors=Cristina Vicente-Chicote,Juan F. Ingles-Romero,Jesus Martinez,Dennis Stampfer,Alex Lotz,Matthias Lutz,Christian Schlegel
|dblpUrl=https://dblp.org/rec/conf/models/Vicente-Chicote18
}}
==A Component-Based and Model-Driven Approach to Deal with Non-Functional Properties Through Global QoS Metrics==
A Component-Based and Model-Driven Approach to Deal with Non-Functional Properties through Global QoS Metrics Cristina Juan F. Inglés-Romero Jesús Martínez Dennis Stampfer Vicente-Chicote Biometric Vox, S.L. Universidad de Málaga Alex Lotz Universidad de Murcia, Spain Málaga, Spain Matthias Lutz Extremadura juanfran.ingles@ jmcruz@lcc.uma.es biometricvox.com Christian Schlegel Cáceres, Spain Hochschule Ulm cristinav@unex.es Ulm, Germany@hs-ulm.de ABSTRACT better software, which then allow building better robotic systems. Non-functional properties play a key role in most software systems. RobMoSys aims at creating an open, sustainable, agile and multi- There is a lot of literature on what non-functional properties are domain European robotics software ecosystem. RobMoSys seeks to but, unfortunately, there is also a lot of disagreement and different enable the composition of robotics applications with managed, as- points of view on how to deal with them. Non-functional proper- sured, and maintained system-level properties using Model-Driven ties, such as safety or dependability, become particularly relevant Engineering (MDE) techniques from a CBSD perspective. To achieve in the context of robotics. In the EU H2020 RobMoSys Project, non- its goals, RobMoSys establishes structures that enable the manage- functional properties are treated as first-class citizens and consid- ment of the interfaces between different robotics-related domains, ered key added-value services. In this vein, the RoQME Integrated different roles in the ecosystem, and different levels of abstraction. Technical Project, funded by RobMoSys, aims at contributing a RobMoSys financially supports, through a cascade funding scheme component-based and model-driven tool-chain for dealing with scheduled in two open calls, third party contributions as means system-level non-functional properties, enabling the specification to achieve its own objectives. RoQME: Dealing with non-functional of global Quality of Service (QoS) metrics. The estimation of these properties through global Robot Quality-of- Service Metrics [21] has metrics at runtime, in terms of the contextual information available, been one of the six selected Integrated Technical Project (ITP) to can then be used for different purposes, such as robot behavior be funded in the context of the first RobMoSys open call (out of the adaptation or benchmarking. thirty four proposals submitted). The main intended goal of RoQME is to provide robotics soft- KEYWORDS ware engineers with a model-driven tool-chain allowing them to: (1) model relevant system-level non-functional properties in terms Non-Functional Properties, QoS Metrics, Model-Driven Engineer- of the (internal and external) contextual information available at ing, Component-Based Software Development, Robotics, RoQME. runtime; and (2) generate a RobMoSys-compliant component, ready to provide other components with QoS metrics defined on the non- 1 INTRODUCTION functional properties, previously specified. Component-Based Software Development (CBSD) aims at promot- This paper describes the RoQME foundations, laid down during ing software reuse for significantly reducing development time and the initial stage of the project, namely: (1) the new role of QoS cost. Existing solutions are encapsulated in well-defined compo- Engineers and how it integrates with the other roles considered in nents with clear (required and provided) interfaces that enable their RobMoSys; (2) the RoQME and the RoQME-to-RobMoSys Mapping connection to and interoperation with other components. Building meta-models, which gather the main modeling concepts and their systems out of components requires taking into account both func- relation to those included in the RobMoSys meta-models; and the tional and non-functional properties. Non-functional properties process (including the relevant roles, models and tools) we propose define how a system performs rather than what it does [25]. Ex- to enable the modeling (at design-time) and estimation (at runtime) amples of non-functional properties include timing, dependability, of metrics defined on system-level non-functional properties. safety or resource consumption, among others. Despite the impor- RoQME will run for one year, starting March 2018. Achieving tance of non-functional properties, there are just a few component substantial results in such a short period of time requires building on models explicitly supporting their specification and management previous results. In this vein, the RoQME partners contribute solid throughout the development process. In most cases, this support background in Robotics, Component-Based Software Development, is limited and, unlike the well-established solution of embodying and Model-Driven Engineering [1, 2, 6, 10–14, 18, 19, 23]. Apart functional properties into interfaces, no consensus has emerged on from the fruitful relationship existing among the RoQME partners, how to handle non-functional properties both at a component and which already resulted in some preliminary results [5, 9, 17, 22], at a system level [25]. it is worth mentioning our close collaboration with some of the RobMoSys: Composable Models and Software for Robotics [20] is a RobMoSys partners in line with the current goals of the Project [8, 4-year Project (2017-2020), funded by the EU H2020 Research and In- 15–17, 24]. This will undoubtedly contribute to align RoQME to the novation Program under grant agreement No. 732410. The vision of RobMoSys vision, guiding principles, and structures. RobMoSys is to create better models, as the basis for better tools and ModComp’18. Copenhagen (Denmark), 2018 C. Vicente-Chicote et al. The rest of the paper is organized as follows. Firstly, Section 2 DESIGN-TIME RUN-TIME RoQME Model Global QoS Metrics Provider presents an overview of the RoQME project, introducing its main Abstract non-functional properties • Non-functional properties intended goals and contributions. Secondly, Section 3 introduces the • Context variables Estimations RobMoSys project and outlines how RoQME plans to integrate into • Observations based on Probabilistic Reasoning E.g., the robot task M2T context patterns and rules sequencer may its Ecosystem, focusing on the description of the new QoS Engineer Observations use the resulting Event processing QoS metrics for role. Then, Section 4 introduces the main modeling concepts gath- deciding among Events alternative tasks, ered in the RoQME meta-models and illustrates them through some Mapping model Context monitoring activating or de- practical examples. And, finally, Section 5 draws some conclusions activating certain components, or Communication and outlines current and future works. Objects setting component RobMoSys Structures params within their (models) Context information allowed range 2 ROQME OVERVIEW Figure 1: Main RoQME elements, models and tools. RoQME intends to support the role of QoS Engineers (see Sec- tion 3.2), providing them with a specific QoS View that allows them to model system-level non-functional properties according to the (1) a context monitor that will receive raw contextual data and will RoQME meta-model (see Section 4). This new role, view and meta- produce context events (e.g., changes in the battery level); (2) an model complement and interrelate with those already defined in event processor that will search for the event patterns specified in RobMoSys through the so called RoQME-to-RobMoSys mapping the RoQME model and, when found, will produce observations (e.g., meta-model. This mapping aims at promoting good design princi- battery is draining too fast); and, finally (3) a probabilistic reasoner ples, such as high cohesion and loose coupling among the different that will compute a numeric estimation for each metric (i.e., the RobMoSys views, providing a non-intrusive way of extending the degree of fulfillment of each non-functional property). RobMoSys meta-model, i.e., modifying the RoQME meta-model would only imply adapting the mapping but not the RobMoSys 3 ROQME IN THE CONTEXT OF ROBMOSYS meta-model and, vice versa, new versions of the RobMoSys meta- RoQME focuses on the modeling (at design-time), management and model would imply adapting the mapping, but not the RoQME measurement (at runtime) of non-functional properties. To achieve meta-model. it, RoQME extends the core structures, roles and views, laid down by RoQME will allow QoS Engineers to model context variables RobMoSys, by defining the RoQME meta-models (later introduced (e.g., battery level) and, from them, relevant context patterns (e.g., in Section 3.2 and a new QoS Engineer role, which is provided with “the battery level drops more than 1% per minute”). The detection a new modeling view for describing the non-functional aspects of of a context pattern will be considered an observation associated robotic applications. with a variable in a belief network. Belief networks will be used Before detailing the activities carried out and the models devel- to specify the dynamics of non-functional properties (e.g., power oped by the QoS Engineers, let us briefly review the main RobMoSys consumption). The degree of fulfillment of these non-functional principles, structures and roles, as they define the QoS Engineers properties will then be used to estimate the QoS metrics, obtained working context. as real values in the range [0, 1]. RoQME aims to be application domain agnostic, providing QoS 3.1 Main RobMoSys Tiers, Structures and Roles Engineers with a compact set of modeling tools to express system- level QoS metrics. However, it is being designed to be as flexible RobMoSys proposes an Ecosystem organized into three tiers, ar- as possible, e.g., supporting extension mechanisms that allow QoS ranged along levels of abstraction (see Figure 2). Tier 1, shaped Engineers (or other RobMoSys roles, such as Safety Engineers or by few representative Robotics Experts, defines the overall com- Performance Designers) to enrich and customize the RoQME mod- position structures to which the lower tiers must conform. Tier 2, eling capabilities with domain-specific requirements (e.g., related structures particular robotics sub-domains, such as SLAM, manipu- to safety, dependability, etc.). lation, object recognition, etc. Tier 2 is shaped by Domain Experts The RoQME tool-chain, delivered as an Eclipse plug-in, will pro- and conforms to the foundations laid down in Tier 1. Finally, Tier 3, vide both modeling and code generation tools, enabling the creation conforms to the domain-structures defined in Tier 2, and provides of RobMoSys-compliant components, readily usable in RobMoSys- reusable building block (developed by Component Suppliers and based solutions as QoS information providers (see Figure 1). This Behavior Developers), readily available to be integrated (by System information could then be used by other components for different Builders) into different robotic systems. purposes, e.g., robot behavior adaptation or benchmarking. In this RobMoSys considers a large number of loosely interconnected line, a preliminary result on how to use the RoQME metrics as an participants that depend on each other for their mutual effectiveness input in a reinforcement learning problem can be found in [7]. and individual success. RobMoSys is about managing the interfaces Internally, the generated component will estimate the value of between different roles (Domain Experts, System Architects, Com- each non-functional property, specified in the RoQME model, by ponent Suppliers, Behavior Developers, System Builders, etc.) and successively processing the available contextual information, either separate concerns in an efficient and systematic way. from internal (e.g., robot sensors) or external (e.g., web services, According to the information available in the RobMoSys Wiki1 , other robots, etc.) sources. The contextual information received by System Architects define the functional requirements of robotic the component will be sequentially processed by three modules: 1 https://robmosys.eu/wiki A Component-Based and Model-Driven Approach to Deal with Non-Functional Properties (...) C. Vicente-Chicote et al. (1) Domain Experts could define relevant domain-specific non- functional 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 auto- matically generated: • A Service Definition, in order to make the metrics calcu- lated on the different non-functional properties available Figure 2: The RobMoSys Ecosystem: tiers, roles and ele- to other components as a service. ments [20] • A Service Wish (as an instance of the previous Service Def- inition). 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 applications in terms of Service Wishes (e.g., navigation, location, adaptation purposes) from some of the Service Wishes pre- handover, etc.) and create Service Links among them when needed. viously included in the System Service Architecture Model. Service Links (specified as uses relationships) identify component- Note that the generated Service Wish will be realized by independent inter-service dependencies (i.e., if a Service Wish A the “QoS Metric Provider” Component, also generated by depends on the existence of another Service B, then a relationship the RoQME generation engine (in a later step). Thus, this "A uses B" needs to be modeled). Each Service Wish, defined by the component will be available to the System Builder in order System Architect in Tier 3, is an instancesOf a Service Definition, to fulfill the corresponding Service Wish. previously modeled by a Domain Expert in Tier 2. Service defini- (4) QoS Engineers select relevant Contexts by searching among tions are reusable artifacts (at least within a robotics sub-domain) the Service Definitions available in the Ecosystem (i.e., con- that can be instantiated as many times and in as many applications text providers). For each of these contexts: as needed. • A new element will be created in the RoQME-to-RobMoSys In order to realize the Service Wishes defined by the System (R2R) Mapping Model with a reference both to the Context Architect, the System Builder selects applicable components and and to the corresponding Service Definition. The R2R Map- behaviors (task plots) from the RobMoSys Ecosystem (developed ping Model conforms to the R2R Mapping Meta-Model, by Component Suppliers and Behavior Developers, respectively) which provides a loose coupling mechanism between the and connects them appropriately to obtain the final application. RoQME and the RobMoSys modeling concepts (i.e., in case This (very briefly) summarizes the typical workflow that needs to any of the two meta-models is modified or evolves, the be followed to come up with a robotics application according to the other will remain unaltered; only the mapping meta-model RobMoSys structures and guidelines (see Figure 3). The following will need to be modified accordingly). section introduces the new role of the QoS Engineers, contributed • A Service Wish will be automatically generated and added by RoQME, and details how they interact with the other roles within to the RoQME Model as an instance of the correspond- the RobMoSys Ecosystem. ing Service Definition. This Service Wish will need to be later realized by the System Builder by selecting the ap- propriate Component/Task Plot (context provider) from 3.2 QoS Engineers in Action the RobMoSys Ecosystem. Both functional and non-functional requirements should respond (5) QoS Engineers define application-specific Observations in to customer or business needs, either directly or indirectly. In this terms of one or more of the previous Contexts. An Observa- sense, RoQME provides the means to support: (1) the evaluation of tion is an evidence reinforcing (or undermining) the belief non-functional requirements, e.g. to check statements such as "the that the system is optimal in terms of one or more of the robot should perform at least GOOD with respect to PERFORMANCE"; non-functional properties previously defined. (2) benchmarking, e.g. to test the impact of different robot real- (6) The QoS Engineer generates the "QoS Metric Provider" Com- izations on SAFETY ; and (3) self-adaptation, e.g., the robot could ponent from the resulting RoQME Model and makes it avail- select, at runtime, its navigation strategy so that PERFORMANCE is able to the System Builder. maximized. Therefore, non-functional properties and the metrics (7) In order to realize the Service Wishes included both in the defined to quantify them, offer many possibilities, from assessing System Service Architecture Model (developed by the System requirements fulfillment to dynamic adaptation of the robot behav- Architect) and in the RoQME Model (developed by the QoS ior. Engineer), the System Builder selects applicable components Figure 3 shows an overview of the RoQME and RobMoSys roles, and behaviors (task plots) from the RobMoSys Ecosystem models and relationships. In the following, we describe the process (provided by Component Suppliers and Behavior Developers, by presenting the actions of the roles involved in relation to RoQME. ModComp’18. Copenhagen (Denmark), 2018 C. Vicente-Chicote et al. Domain-Specific Service [1..1] instanceOf RoQME model Definition Domain Expert [1..*] reuses [1..1] serviceDef Tier 2 Tier 3 R2R Mapping Model Context Mapping C Provider System Builder [1..1] context realizes Service RoQME QoS Metrics Context Wish Generator Provider (Context) Application-Specific [1..*] uses RoQME Model QoS Engineer Observation [1..*] impacts realizes Service NFP Wish (NFP) [1..*] uses [0..1] uses System Service Arch Model Service System Architect Wish Component Behavior Components Task Plots realizes Supplier Developer Figure 3: The RoQME models and the role of QoS Engineers in the context of RobMoSys. respectively) and connects them appropriately to obtain the enabling the later generation of their associated documenta- final application. tion; (8) The System Builder must also add the "QoS Metric Provider" • The Datatypes Package, which provides users with the foun- Component, generated from the RoQME Model, which will dations of the modeling language, i.e., sentences, data types, provide Global Robot QoS Metrics at runtime; appropriately typed variables and values; connect this component to the required context providers • The Expressions Package, which provides users with the ca- (either components, Knowledge Base, ...); and eventually pability of defining logical and arithmetical expressions; and connect the resulting metrics to those components making • The Kernel Package, which specifies the main RoQME mod- use of them (if any). eling concepts, such as, context variables, properties and Finally, it is worth noting that the generated component will observations, among others. provide information about (1) the metric computed for each non- Figure 4 shows an excerpt of the most relevant concepts included functional property defined in the RoQME model; (2) a ranking of both in the RoQME meta-model (highlighted in green) and in the observations depending on their influence on the metric values; RoQME-to-RobMoSys mapping meta-model (those highlighted in and (3) when possible, information about the degree of confidence blue). The later define the mapping between the RoQME and the associated to each metric, depending on the availability, reliability corresponding RobMoSys elements (highlighted in red). and uncertainty [4] of the context sources. A RoQME model is mainly composed of Contexts, Properties (derived from TypedVariables), and Observations (derived from Sen- 4 THE ROQME META-MODELS tences). Contexts represent the contextual information provided As previously mentioned, RoQME defines two meta-models: (1) the by the sensors or by other components included in the robot archi- RoQME meta-model, responsible for the definition of Non-Functional tecture (PrimitiveContext) or by a combination of these primitive Properties, Contexts and Observations; and (2) the RoQME-to-RobMoSys context through a complex expression (DerivedContext). Lines 1– mapping meta-model, responsible for binding each Context defined 3 in Figure 5 declare three primitive contexts, whereas Lines 4–7 in a RoQME model with the RobMoSys Service Definition acting as declare a derived context of type enum, obtained in terms of one of the corresponding context provider. the previous primitive contexts. The RoQME meta-model has been divided into four packages: A RoQME Property represents the degree of fulfillment of a • The Documentation Package, which provides users with el- non-functional property. They are defined as a particular type of ements to annotate the main RoQME modeling concepts, BeliefVariables (i.e., variables that store the output probability of A Component-Based and Model-Driven Approach to Deal with Non-Functional Properties (...) C. Vicente-Chicote et al. Figure 4: Excerpt of the RoQME Meta-Model (elements highlighted in green) and RoQME-to-RobMoSys Mapping Meta-Model (elements highlighted in blue). The elements highlighted in red belong to the RobMoSys meta-model. 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 different 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 context motionDetected : eventtype properties: usability and effectiveness. Each one takes a belief value 4 c o n t e x t motion : enum { MOTIONLESS , MOVING } in the range [0, 1]. 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 ) > 5 ? into an enumerated value (LOW, MEDIUM or HIGH ) according to 6 motion : : MOVING : motion : : MOTIONLESS the OutputTransformation included its definition. 7 Finally, Observations specify relevant context patterns and how 8 property u s a b i l i t y they influence (REINFORCE or UNDERMINE) and to what extent 9 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 } : = (VERY_HIGH, HIGH, MEDIUM, etc.) in one or more Properties (see 10 b e l i e f > 0 . 7 ? HIGH : Figure 5, lines 16–20). 11 b e l i e f > 0 . 3 ? MEDIUM : The RoQME-to-RobMoSys mapping models include one Moni- 12 LOW 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 obs1 : inition, indicating which AttributeDefinition 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 > 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 [3]. Figure 5: RoQME syntax examples 5 CONCLUSIONS AND FUTURE WORK The critical nature of this kind of software systems makes it nec- Nowadays, component-based development is a commonly accepted essary to deal with different non-functional properties at runtime, approach to design, build, manage and evolve robotics software. such as safety, performance or dependability, among others. The ModComp’18. Copenhagen (Denmark), 2018 C. Vicente-Chicote et al. RoQME ITP is contributing to the EU H2020 RobMoSys Project with [6] M. A. Gutiérrez, A. Romero-Garcés, and P. Bustos. 2013. Progress in RoboComp. a model-driven tool-chain enabling the specification of system-level Journal of Physical Agents 7, 1 (2013), 39–48. https://doi.org/10.14198/JoPha.2013. 7.1.06 non-functional properties by so-called QoS Engineers. This new role [7] J. F. Inglés-Romero, J. M. Espín, R. Jiménez-Andreu, R. Font, and C. Vicente- whithin RobMoSys is aimed at defining application-specific observa- Chicote. 2018. Towards the use of Quality-of-Service Metrics in Reinforcement Learning: A robotics example. In Proc. 5th International Workshop on Model-driven tions (evidences which reinforce or undermine the non-functional Robot Software Engineering (MORSE’18), in conjunction with MODELS 2018. properties previously modeled as relevant for that application) in [8] J. F. Inglés-Romero, A. Lotz, C. Vicente-Chicote, and C. Schlegel. 2012. Dealing terms of the contextual information available. The RoQME model with Run-Time Variability in Service Robotics: Towards a DSL for Non-Functional Properties. In Proc. 3rd International Workshop on Domain-Specific Languages and then guides a fully automated code generation process that results models for ROBotic systems (DSLRob-12). https://arxiv.org/pdf/1303.4296.pdf in a QoS metrics provider component, which may be used by other [9] J. F. Inglés-Romero, A. Romero-Garcés, C. Vicente-Chicote, and J. Martínez. 2017. RobMoSys-compliant components for different purposes, such as A Model-Driven Approach to Enable Adaptive QoS in DDS-Based Middleware. IEEE Transactions on Emerging Topics in Computational Intelligence 1, 3 (June robot behavior adaptation or benchmarking. 2017), 176–187. https://doi.org/10.1109/TETCI.2017.2669187 Currently, the RoQME team is working in the support software [10] J. F. Inglés-Romero and C. Vicente-Chicote. 2011. A Component-Based Architec- ture Template for Adaptive System Design. In Proc. XVI Jornadas de Ingeniería on which the generated QoS metrics provider will rely, i.e., the del Software y Bases de Datos (JISBD’11). SISTEDES. software in charge of (1) monitoring the context; (2) identifying [11] J. F. Inglés-Romero and C. Vicente-Chicote. 2013. Towards a Formal Approach relevant context patterns; and (3) estimating the value of each non- for Prototyping and Verifying Self-Adaptive Systems. In Advanced Information Systems Engineering Workshops. CAiSE 2013, Soffer P. Franch X. (Ed.). Lecture functional property in terms of the positive or negative influence Notes in Business Information Processing, Vol. 148. Springer, Berlin, Heidelberg, of the identified context patterns, according to the observations 432–446. https://doi.org/10.1007/978-3-642-38490-5_39 included in the RoQME models. [12] J. F. Inglés-Romero, C. Vicente-Chicote, B. Morin, and O. Barais. 2010. Using Models@Runtime for Designing Adaptive Robotics Software: an Experience Future work will focus on validating the RoQME tool-chain with Report. In Proc. 1st International Workshop on Model-Based Engineering for Robotics real world complex scenarios involving industrial and social assis- (RoSym’10), in conjunction with MODELS 2010. [13] J. F. Inglés-Romero, C. Vicente-Chicote, B. Morin, and O. Barais. 2011. Towards the tive robots. The definition of pertinent non-functional properties Automatic Generation of Self-Adaptive Robotics Software: An Experience Report. for these different areas of application in robotics will help us refine In 2011 IEEE 20th International Workshops on Enabling Technologies: Infrastructure the expressiveness of the RoQME modeling language, along with for Collaborative Enterprises. 79–86. https://doi.org/10.1109/WETICE.2011.54 [14] J. F. Inglés-Romero, C. Vicente-Chicote, J. Troya, and A. Vallecillo. 2012. Prototyp- the robustness of the QoS metrics provider and the accuracy of the ing component-based self-adaptive systems with Maude. In Proc. XVII Jornadas non-functional properties estimations. de Ingeniería del Software y Bases de Datos (JISBD’12). SISTEDES. All the RoQME partners are pledged to making the knowledge [15] A. Lotz, J. F. Inglés-Romero, D. Stampfer, M. Lutz, C. Vicente-Chicote, and C. Schlegel. 2014. Towards a Stepwise Variability Management Process for Complex generated in the course of the Project as widely and freely avail- Systems: A Robotics Perspective. International Journal of Information System able as possible for subsequent research and development. For this Modeling and Design 5, 3 (2014). https://doi.org/10.4018/ijismd.2014070103 [16] A. Lotz, J. F. Inglés-Romero, C. Vicente-Chicote, and C. Schlegel. 2013. Man- reason, the Project partners are fully committed to open-access aging Run-Time Variability in Robotics Software by Modeling Functional and and open-source. Actually, all the Project results will be punc- Non-functional Behavior. In Enterprise, Business-Process and Information Systems tually announced through the Project social networks (Twitter: Modeling, Nurcan S. et al. (Ed.). Lecture Notes in Business Information Process- ing, Vol. 147. Springer, Berlin, Heidelberg, 441–455. https://doi.org/10.1007/ @RoQME_ITP, LinkedIn: RoQME Group, or ResearchGate: RoQME 978-3-642-38484-4_31 Project), and made publicly available through the dedicated project [17] M. Lutz, J. F. Inglés-Romero, D. Stampfer, A. Lotz, C. Vicente-Chicote, and C. web page [21], allocated within the RobMoSys website [20]. Schlegel. In press. Managing Variability as a Means to Promote Composability: A Robotics Perspective. In New Perspectives on Information Systems Modeling and Design, A. M. Rosado da Cruz and M. E. Ferreira da Cruz (Eds.). IGI-Global. ACKNOWLEDGMENTS [18] J. Martínez, A. Romero-Garcés, J. P. Bandera, and A. Bandera. 2011. Nerve: a lightweight middleware for quality-of-service networked robotics. In Proc. 8th The RoQME Integrated Technical Project has received funding from International Conference on Information Technology: New Generations (ITNG). the European Union’s H2020 Research and Innovation Programme 655–660. https://doi.org/10.1109/ITNG.2011.116 [19] J. Martínez, A. Romero-Garcés, J. P. Bandera, R. Marfil, and A. Bandera. 2012. A under grant agreement No. 732410, in the form of financial support DDS-based middleware for quality-of-service and high-performance networked to third parties of the RobMoSys Project. robotics. Concurrency and Computation: Practice and Experience 24, 16 (2012), 1940–1952. https://doi.org/10.1002/cpe.2816 [20] RobMoSys EU H2020 Project. (2017-2020). RobMoSys: Composable Models and REFERENCES Software for Robtics Systems - Towards an EU Digital Industrial Platform for [1] D. Alonso, J. A. Pastor, P. Sánchez, B. Álvarez, and C. Vicente-Chicote. 2012. Robotics. Retrieved July 2, 2018 from http://robmosys.eu Automatic Code Generation for Real–Time Systems: a Development Approach [21] RoQME Integrated Technical Project. (2018-2019). RoQME: Dealing with non- based on Components, Models, and Frameworks. Revista Iberoamericana de functional properties through global Robot Quality-of- Service Metrics. Retrieved Automática e Informática Industrial (RIAI) 9, 2 (2012), 170–181. https://doi.org/ July 2, 2018 from http://robmosys.eu/roqme/ 10.1016/j.riai.2012.02.010 [22] A. Romero-Garcés, J. F. Inglés-Romero, J. Martínez, and C. Vicente-Chicote. 2013. [2] D. Alonso, C. Vicente-Chicote, F. Ortiz, J. A. Pastor, and B. Álvarez. 2010. V3CMM: Self-adaptive quality-of-service in distributed middleware for robotics. In Proc. a 3-View Component Meta-Model for Model-Driven Robotic Software. Journal 2nd International Workshop on Recognition and Action for Scene Understanding of Software Engineering for Robotics 1, 1 (2010), 3–17. http://joser.unibg.it/index. (REACTS 2013). php/joser/article/view/18 [23] A. Romero-Garcés, L. Manso, M. A. Gutiérrez, R. Cintas, and P. Bustos. 2011. [3] L. Burgueño, T. Mayerhofer, M. Wimmer, and A. Vallecillo. 2018. Using Physical Improving the life cycle of robotics components using Domain Specific Languages. Quantities in Robot Software Models. In Proc. 1st ACM/IEEE International Work- In Proc. 2nd International Workshop on Domain-Specific Languages and models for shop on Robotics Software Engineering. 23–28. https://doi.org/10.1145/3196558. ROBotic systems (DSLRob’11). https://arxiv.org/pdf/1301.6022.pdf 3196562 [24] C. Schlegel, A. Lotz, M. Lutz, D. Stampfer, J. F. Inglés-Romero, and C. Vicente- [4] J. Cámara, W. Peng, D. Garlan, and B. Schmerl. 2018. Reasoning about sensing Chicote. 2015. Model-driven software systems engineering in robotics: Covering uncertainty and its reduction in decision-making for self-adaptation. Science of the complete life-cycle of a robot. it - Information Technology 57, 2 (March 2015). Computer Programming 167 (2018), 51–69. https://doi.org/10.1016/j.scico.2018. https://doi.org/10.1515/itit-2014-1069 07.002 [25] S. Sentilles. 2012. Managing extra-functional properties in component-based devel- [5] C. Vicente-Chicote et al. 2018. RoQME: Dealing with Non-Functional Properties opment of embedded systems. Ph.D. Dissertation. Mälardalen University. ISBN: through Global Robot QoS Metrics. In Proc. XXIII Jornadas de Ingeniería del 978-91-7485-067-3. Software y Bases de Datos (JISBD’18). SISTEDES.