Towards Automatic Inference of Behavioral Component Models for ROS-Based Robotics Systems
Pages 247 - 251
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
ROSInfer: Statically Inferring Behavioral Component Models for ROS-based Robotics Systems
ICSE '24: Proceedings of the IEEE/ACM 46th International Conference on Software EngineeringRobotics systems are complex, safety-critical systems that can consist of hundreds of software components that interact with each other dynamically during run time. Software components of robotics systems often exhibit reactive, periodic, and state-...
Comments
Please enable JavaScript to view thecomments powered by Disqus.Information & Contributors
Information
Published In
April 2024
531 pages
ISBN:9798400705021
DOI:10.1145/3639478
- Co-chairs:
- Ana Paiva,
- Rui Abreu,
- Program Co-chairs:
- Abhik Roychoudhury,
- Margaret Storey
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:
ICSE-Companion '24: 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings
April 14 - 20, 2024
Lisbon, Portugal
Acceptance Rates
Overall Acceptance Rate 276 of 1,856 submissions, 15%
Upcoming Conference
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- 0Total Citations
- 84Total Downloads
- Downloads (Last 12 months)84
- Downloads (Last 6 weeks)23
Reflects downloads up to 22 Nov 2024
Other Metrics
Citations
View Options
Login options
Check if you have access through your login credentials or your institution to get full access on this article.
Sign in