Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3639478.3639808acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article
Open access

Towards Automatic Inference of Behavioral Component Models for ROS-Based Robotics Systems

Published: 23 May 2024 Publication History

Abstract

Model-based analysis is a common technique to identify incorrect behavioral composition of complex, safety-critical systems, such as robotics systems. However, creating structural and behavioral models for hundreds of software components manually is often a labor-intensive and error-prone process. I propose an approach to infer behavioral models for components of systems based on the Robot Operating System (ROS), the most popular framework for robotics systems, using a combination of static and dynamic analysis by exploiting assumptions about the usage of the ROS framework. This work is a contribution towards making well-proven and powerful but infrequently used methods of model-based analysis more accessible and economical in practice to make robotics systems more reliable and safer.

References

[1]
Afsoon Afzal, Claire Le Goues, Michael Hilton, and Christopher S. Timperley. 2020. A Study on Challenges of Testing Robotic Systems. In International Conference on Software Testing, Validation and Verification (ICST '20), 96--107.
[2]
Afsoon Afzal, Deborah S. Katz, Claire Le Goues, and Christopher S. Timperley. 2021. Simulation for Robotics Test Automation: Developer Perspectives. In Conference on Software Testing, Verification and Validation (ICST '14). IEEE, 263--274.
[3]
Aakash Ahmad and Muhammad Ali Babar. 2016. Software Architectures for Robotic Systems: A Systematic Mapping Study. Journal of Systems and Software, 122, (December 2016), 16--39.
[4]
Hugo Araujo, Mohammad Reza Mousavi, and Mahsa Varshosaz. 2023. Testing, Validation, and Verification of Robotic and Autonomous Systems: A Systematic Review. ACM Trans. Softw. Eng. Methodol., 32, 2, Article 51, (March 2023), 61 pages.
[5]
Janis Arents, Valters Abolins, Janis Judvaitis, Oskars Vismanis, Aly Oraby, and Kaspars Ozols. 2021. Human-Robot Collaboration Trends and Safety Aspects: A Systematic Review. Journal of Sensor and Actuator Networks, 10, 3, (July 2021).
[6]
Alex Brooks, Tobias Kaupp, Alexei Makarenko, Stefan Williams, and Andres Orebäck. 2005. Towards component-based robotics. In International Conference on Intelligent Robots and Systems (IROS '05). IEEE, 163--168.
[7]
Franz Brosch, Heiki Koziolek, Barbora Buhnova, and Ralf Reussner. 2012. Architecture-Based Reliability Prediction with the Palladio Component Model. IEEE Transactions on Software Engineering (TSE), 38, 6, (November 2012), 1319--1339.
[8]
Davide Brugali. 2015. Model-Driven Software Engineering in Robotics. IEEE Robotics & Automation Magazine, 22, 3, 155--166.
[9]
Davide Brugali, Alex Brooks, Anthony Cowley, Carle Côté, Antonio C. Domínguez-Brito, Dominic Létourneau, Françis Michaud, and Christian Schlegel. 2007. Trends in Component-Based Robotics. In Software Engineering for Experimental Robotics. Springer, 135--142.
[10]
Paulo Canelas, Miguel Tavares, Ricardo Cordeiro, Alcides Fonseca, and Christopher S. Timperley. 2022. An Experience Report on Challenges in Learning the Robot Operating System. In International Workshop on Robotics Software Engineering (RoSE '22), 33--38.
[11]
Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Judith Stafford, Reed Little, and Robert Nord. 2003. Documenting Software Architectures: Views and Beyond. Addison-Wesley Professional.
[12]
Martin Dahl, Kristofer Bengtsson, Martin Fabian, and Petter Falkman. 2017. Automatic Modeling and Simulation of Robot Program Behavior in Integrated Virtual Preparation and Commissioning. Procedia Manufacturing, 11, 284--291. International Conference on Flexible Automation and Intelligent Manufacturing (FAIM '17).
[13]
Edson de Araújo Silva, Eduardo Valentin, Jose Reginaldo Hughes Carvalho, and Raimundo da Silva Barreto. 2021. A survey of Model Driven Engineering in robotics. Journal of Computer Languages, 62, 101021.
[14]
Raju Halder, José Proença, Nuno Macedo, and André Santos. 2017. Formal Verification of ROS-Based Robotic Applications Using Timed-Automata. (2017).
[15]
Abdelfetah Hentout, Mustapha Aouache, Abderraouf Maoudj, and Isma Akli. 2019. Human-robot interaction in industrial collaborative robotics: a literature review of the decade 2008--2017. Advanced Robotics, 33, 15--16, 764--799.
[16]
Casidhe Hutchison, Milda Zizyte, Patrick E. Lanigan, David Guttendorf, Michael Wagner, Claire Le Goues, and Philip Koopman. 2018. Robustness Testing of Autonomy Software. In International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP '18). ACM, 276--285.
[17]
Bernard C. Jiang and Charles A. Gainer. 1987. A Cause-and-Effect Analysis of Robot Accidents. Journal of Occupational Accidents, 9, 1, 27--45.
[18]
Jin Hwa Jung and Dong-Geon Lim. 2020. Industrial robots, employment growth, and labor cost: a simultaneous equation analysis. Technological Forecasting and Social Change, 159, 120202.
[19]
Min Yang Jung, Anton Deguet, and Peter Kazanzides. 2010. A component-based architecture for flexible integration of robotic systems. In International Conference on Intelligent Robots and Systems (IROS '10, 6107--6112.
[20]
Mourad Kmimech, Mohamed Tahar Bhiri, and Phillipe Aniorte. 2009. Checking Component Assembly in Acme: An Approach Applied on UML 2.0 Components Model. In International Conference on Software Engineering Advances (ICSEA '09), 494--499.
[21]
Sophia Kolak, Afsoon Afzal, Claire Le Goues, Michael Hilton, and Christopher S Timperley. 2020. It Takes a Village to Build a Robot: An Empirical Study of The ROS Ecosystem. In International Conference on Software Maintenance and Evolution (ICSME '20). IEEE, 430--440.
[22]
Philip Koopman and Michael Wagner. 2016. Challenges in autonomous vehicle testing and validation. SAE International Journal of Transportation Safety, 4, 1, 15--24. http://www.jstor.org/stable/26167741.
[23]
James Kramer and Matthias Scheutz. 2007. Development environments for autonomous mobile robots: A survey. Autonomous Robots, 22, 2, 101--132.
[24]
William Landi. 1992. Undecidability of Static Analysis. ACM Lett. Program. Lang. Syst., 1, 4, (December 1992), 323--337.
[25]
Matt Luckcuck, Marie Farrell, Louise A. Dennis, Clare Dixon, and Michael Fisher. 2019. Formal Specification and Verification of Autonomous Robotic Systems: A Survey. ACM Comput. Surv., 52, 5, Article 100, (September 2019), 41 pages.
[26]
Steven Macenski, Tully Foote, Brian Gerkey, Chris Lalancette, and William Woodall. 2022. Robot Operating System 2: Design, Architecture, and Uses In The Wild. Science Robotics, 7, 66, eabm6074.
[27]
Xinjun Mao, Hao Huang, and Shuo Wang. 2020. Software Engineering for Autonomous Robot: Challenges, Progresses and Opportunities. In Asia-Pacific Software Engineering Conference (APSEC '20), 100--108.
[28]
Chris Newcombe. 2014. Why Amazon Chose TLA+. In Abstract State Machines, Alloy, B, TLA, VDM, and Z. Springer, 25--39.
[29]
Chris Newcombe, Tim Rath, Fan Zhang, Bogdan Munteanu, Marc Brooker, and Michael Deardeuff. 2015. How Amazon Web Services Uses Formal Methods. Commun. ACM, 58, 4, (March 2015), 66--73.
[30]
Tony Ohmann, Michael Herzberg, Sebastian Fiss, Armand Halbert, Marc Palyart, Ivan Beschastnikh, and Yuriy Brun. 2014. Behavioral Resource-Aware Model Inference. In International Conference on Automated Software Engineering (ASE '14). ACM, 19--30.
[31]
Morgan Quigley. 2009. ROS: an open-source Robot Operating System. In International Conference on Robotics and Automation Workshop on Open Source Software. http://lars.mec.ua.pt/public/LAR%20Projects/BinPicking/2016_RodrigoSalgueiro/LIB/ROS/icraoss09-ROS.pdf.
[32]
André Santos, Alcino Cunha, and Nuno Macedo. 2019. Static-Time Extraction and Analysis of the ROS Computation Graph. In International Conference on Robotic Computing (IRC '19). IEEE, 62--69.
[33]
André Santos, Alcino Cunha, Nuno Macedo, Rafael Arrais, and Filipe Neves dos Santos. 2017. Mining the usage patterns of ROS primitives. In International Conference on Intelligent Robots and Systems (IROS '17). IEEE, 3855--3860.
[34]
André Santos, Alcino Cunha, Nuno Macedo, and Cláudio Lourenço. 2016. A framework for quality assessment of ros repositories. In International Conference on Intelligent Robots and Systems (IROS '16). IEEE, 4491--4496.
[35]
Christopher S. Timperley, Dürschmid, Tobias, Bradley Schmerl, David Garlan, and Claire Le Goues. 2022. ROSDiscover: Statically Detecting Run-Time Architecture Misconfigurations in Robotics Systems. In IEEE International Conference on Software Architecture (ICSA '22). IEEE, 112--123.
[36]
Christopher S. Timperley, Gijs van der Hoorn, André Santos, Harshavardhan Deshpande, and Andrzej Wasowski. [n. d.] ROBUST: 221 Bugs in the Robot Operating System.
[37]
Milos Vasic and Aude Billard. 2013. Safety Issues in Human-Robot Interactions. In International Conference on Robotics and Automation (ICRA '13). IEEE, 197--204.
[38]
Valeria Villani, Fabio Pini, Francesco Leali, and Cristian Secchi. 2018. Survey on Human-Robot Collaboration in Industrial Settings: Safety, Intuitive Interfaces and Applications. Mechatronics, 55, 248--266.
[39]
Markus Weißmann, Stefan Bedenk, Christian Buckl, and Alois Knoll. 2011. Model Checking Industrial Robot Systems. In Model Checking Software. Springer, 161--176.
[40]
Thomas Witte and Matthias Tichy. 2018. Checking Consistency of Robot Software Architectures in ROS. In International Workshop on Robotics Software Engineering (RoSE '18). IEEE, 1--8. https://ieeexplore.ieee.org/document/8445812.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE-Companion '24: Proceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings
April 2024
531 pages
ISBN:9798400705021
DOI:10.1145/3639478
This work is licensed under a Creative Commons Attribution International 4.0 License.

Sponsors

In-Cooperation

  • Faculty of Engineering of University of Porto

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 May 2024

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

ICSE-Companion '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 84
    Total Downloads
  • Downloads (Last 12 months)84
  • Downloads (Last 6 weeks)23
Reflects downloads up to 22 Nov 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media