Variability Modeling of Service Robots: Experiences and Challenges

Sensing, planning, controlling, and reasoning, are human-like capabilities that can be artificially replicated in an autonomous robot. Such a robot implements data structures and algorithms devised on a large spectrum of theories, from probability theory, mechanics, and control theory to ethology, economy, and cognitive sciences. Software plays a key role in the development of robotic systems, as it is the medium to embody intelligence in the machine. During the last years, however, software development is increasingly becoming the bottleneck of robotic systems engineering due to three factors: (a) the software development is mostly based on community efforts and it is not coordinated by key stakeholders; (b) robotic technologies are characterized by a high variability that makes reuse of software a challenging practice; and (c) robotics developers are usually not specifically trained in software engineering. In this paper, we illustrate our experiences from EU, academic, and industrial projects in identifying, modeling, and managing variability in the domain of service robots. We hope to raise awareness for the specific variability challenges in robotics software engineering and to inspire other researchers to advance this field.

[1]  Jaejoon Lee,et al.  Feature-Oriented Re-engineering of Legacy Systems into Product Line Assets - a Case Study , 2005, SPLC.

[2]  Steven M. LaValle,et al.  Planning algorithms , 2006 .

[3]  Davide Brugali,et al.  Modeling and reusing robotic software architectures: The HyperFlex toolchain , 2014, 2014 IEEE International Conference on Robotics and Automation (ICRA).

[4]  Davide Di Ruscio,et al.  Automatic generation of detailed flight plans from high-level mission descriptions , 2016, MoDELS.

[5]  Rolf Dieter Schraft,et al.  Service Robots , 2000 .

[6]  Krzysztof Czarnecki,et al.  A Study of Variability Models and Languages in the Systems Software Domain , 2013, IEEE Transactions on Software Engineering.

[7]  Klaus Schmid,et al.  Developing long-term stable product line architectures , 2012, SPLC '12.

[8]  Simon Fürst AUTOSAR – A Worldwide Standard is on the Road . , 2009 .

[9]  Andreas Pott,et al.  BRICS - Best practice in robotics , 2010, ISR/ROBOTIK.

[10]  Cyril Novales,et al.  A Toolset to Address Variability in Mobile Robotics , 2016 .

[11]  Tobias Mettler,et al.  Service Robots , 2015, Bus. Inf. Syst. Eng..

[12]  Patrizio Pelliccione,et al.  PsALM: Specification of Dependable Robotic Missions , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion).

[13]  Christian Schlegel,et al.  Model-driven engineering and run-time model-usage in service robotics , 2011, GPCE '11.

[14]  Ilka Philippow,et al.  EXTENDING FEATURE DIAGRAMS WITH UML MULTIPLICITIES , 2002 .

[15]  Krzysztof Czarnecki,et al.  A survey of variability modeling in industrial practice , 2013, VaMoS.

[16]  Elisa Yumi Nakagawa,et al.  Reference Architecture and Product Line Architecture: A Subtle But Critical Difference , 2011, ECSA.

[17]  Patrizia Scandurra,et al.  Component-based robotic engineering (Part I) [Tutorial] , 2009, IEEE Robotics & Automation Magazine.

[18]  Dimos V. Dimarogonas,et al.  Simultaneous task allocation and planning for temporal logic goals in heterogeneous multi-robot systems , 2018, Int. J. Robotics Res..

[19]  Don S. Batory,et al.  Automatic code generation for actuator interfacing from a declarative specification , 2005, 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[20]  Juan F. Inglés-Romero,et al.  Managing Run-Time Variability in Robotics Software by Modeling Functional and Non-functional Behavior , 2013, BMMDS/EMMSAD.

[21]  Luca Gherardi,et al.  Variability Modeling and Resolution in Component-based Robotics Systems , 2013 .

[22]  Davide Brugali,et al.  An eclipse-based Feature Models toolchain , 2011 .

[23]  Safaai Deris,et al.  An Approach for Representing Domain Requirements and Domain Architecture in Software Product Line , 2012 .

[24]  Sebastian Wrede,et al.  A Survey on Domain-Specific Languages in Robotics , 2014, SIMPAR.

[25]  Carlo Ghezzi,et al.  Poster: Property Specification Patterns for Robotic Missions , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion (ICSE-Companion).

[26]  Wouter Joosen,et al.  Coping with variability in product-line architectures using component technology , 2003 .

[27]  Jin-Beom Jeong,et al.  Quadtree based path planning for Unmanned Ground Vehicle in unknown environments , 2012, 2012 12th International Conference on Control, Automation and Systems.

[28]  Luca Gherardi,et al.  A Software Product Line Approach for Configuring Cloud Robotics Applications , 2014, 2014 IEEE 7th International Conference on Cloud Computing.

[29]  Krzysztof Czarnecki,et al.  An Exploratory Study of Cloning in Industrial Software Product Lines , 2013, 2013 17th European Conference on Software Maintenance and Reengineering.

[30]  Juan F. Inglés-Romero,et al.  Towards a Stepwise Variability Management Process for Complex Systems: A Robotics Perspective , 2014, Int. J. Inf. Syst. Model. Des..