Cargando…

Software variability in service robotics

Robots artificially replicate human capabilities thanks to their software, the main embodiment of intelligence. However, engineering robotics software has become increasingly challenging. Developers need expertise from different disciplines as well as they are faced with heterogeneous hardware and u...

Descripción completa

Detalles Bibliográficos
Autores principales: García, Sergio, Strüber, Daniel, Brugali, Davide, Di Fava, Alessandro, Pelliccione, Patrizio, Berger, Thorsten
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Springer US 2022
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9789375/
https://www.ncbi.nlm.nih.gov/pubmed/36588914
http://dx.doi.org/10.1007/s10664-022-10231-5
_version_ 1784858939279540224
author García, Sergio
Strüber, Daniel
Brugali, Davide
Di Fava, Alessandro
Pelliccione, Patrizio
Berger, Thorsten
author_facet García, Sergio
Strüber, Daniel
Brugali, Davide
Di Fava, Alessandro
Pelliccione, Patrizio
Berger, Thorsten
author_sort García, Sergio
collection PubMed
description Robots artificially replicate human capabilities thanks to their software, the main embodiment of intelligence. However, engineering robotics software has become increasingly challenging. Developers need expertise from different disciplines as well as they are faced with heterogeneous hardware and uncertain operating environments. To this end, the software needs to be variable—to customize robots for different customers, hardware, and operating environments. However, variability adds substantial complexity and needs to be managed—yet, ad hoc practices prevail in the robotics domain, challenging effective software reuse, maintenance, and evolution. To improve the situation, we need to enhance our empirical understanding of variability in robotics. We present a multiple-case study on software variability in the vibrant and challenging domain of service robotics. We investigated drivers, practices, methods, and challenges of variability from industrial companies building service robots. We analyzed the state-of-the-practice and the state-of-the-art—the former via an experience report and eleven interviews with two service robotics companies; the latter via a systematic literature review. We triangulated from these sources, reporting observations with actionable recommendations for researchers, tool providers, and practitioners. We formulated hypotheses trying to explain our observations, and also compared the state-of-the-art from the literature with the-state-of-the-practice we observed in our cases. We learned that the level of abstraction in robotics software needs to be raised for simplifying variability management and software integration, while keeping a sufficient level of customization to boost efficiency and effectiveness in their robots’ operation. Planning and realizing variability for specific requirements and implementing robust abstractions permit robotic applications to operate robustly in dynamic environments, which are often only partially known and controllable. With this aim, our companies use a number of mechanisms, some of them based on formalisms used to specify robotic behavior, such as finite-state machines and behavior trees. To foster software reuse, the service robotics domain will greatly benefit from having software components—completely decoupled from hardware—with harmonized and standardized interfaces, and organized in an ecosystem shared among various companies.
format Online
Article
Text
id pubmed-9789375
institution National Center for Biotechnology Information
language English
publishDate 2022
publisher Springer US
record_format MEDLINE/PubMed
spelling pubmed-97893752022-12-27 Software variability in service robotics García, Sergio Strüber, Daniel Brugali, Davide Di Fava, Alessandro Pelliccione, Patrizio Berger, Thorsten Empir Softw Eng Article Robots artificially replicate human capabilities thanks to their software, the main embodiment of intelligence. However, engineering robotics software has become increasingly challenging. Developers need expertise from different disciplines as well as they are faced with heterogeneous hardware and uncertain operating environments. To this end, the software needs to be variable—to customize robots for different customers, hardware, and operating environments. However, variability adds substantial complexity and needs to be managed—yet, ad hoc practices prevail in the robotics domain, challenging effective software reuse, maintenance, and evolution. To improve the situation, we need to enhance our empirical understanding of variability in robotics. We present a multiple-case study on software variability in the vibrant and challenging domain of service robotics. We investigated drivers, practices, methods, and challenges of variability from industrial companies building service robots. We analyzed the state-of-the-practice and the state-of-the-art—the former via an experience report and eleven interviews with two service robotics companies; the latter via a systematic literature review. We triangulated from these sources, reporting observations with actionable recommendations for researchers, tool providers, and practitioners. We formulated hypotheses trying to explain our observations, and also compared the state-of-the-art from the literature with the-state-of-the-practice we observed in our cases. We learned that the level of abstraction in robotics software needs to be raised for simplifying variability management and software integration, while keeping a sufficient level of customization to boost efficiency and effectiveness in their robots’ operation. Planning and realizing variability for specific requirements and implementing robust abstractions permit robotic applications to operate robustly in dynamic environments, which are often only partially known and controllable. With this aim, our companies use a number of mechanisms, some of them based on formalisms used to specify robotic behavior, such as finite-state machines and behavior trees. To foster software reuse, the service robotics domain will greatly benefit from having software components—completely decoupled from hardware—with harmonized and standardized interfaces, and organized in an ecosystem shared among various companies. Springer US 2022-12-24 2023 /pmc/articles/PMC9789375/ /pubmed/36588914 http://dx.doi.org/10.1007/s10664-022-10231-5 Text en © The Author(s) 2022 https://creativecommons.org/licenses/by/4.0/Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/ (https://creativecommons.org/licenses/by/4.0/) .
spellingShingle Article
García, Sergio
Strüber, Daniel
Brugali, Davide
Di Fava, Alessandro
Pelliccione, Patrizio
Berger, Thorsten
Software variability in service robotics
title Software variability in service robotics
title_full Software variability in service robotics
title_fullStr Software variability in service robotics
title_full_unstemmed Software variability in service robotics
title_short Software variability in service robotics
title_sort software variability in service robotics
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9789375/
https://www.ncbi.nlm.nih.gov/pubmed/36588914
http://dx.doi.org/10.1007/s10664-022-10231-5
work_keys_str_mv AT garciasergio softwarevariabilityinservicerobotics
AT struberdaniel softwarevariabilityinservicerobotics
AT brugalidavide softwarevariabilityinservicerobotics
AT difavaalessandro softwarevariabilityinservicerobotics
AT pelliccionepatrizio softwarevariabilityinservicerobotics
AT bergerthorsten softwarevariabilityinservicerobotics