Bootstrapping MDE development from ROS manual code: Part 2—Model generation and leveraging models at runtime
-
Published:2021-04-19
Issue:6
Volume:20
Page:2047-2070
-
ISSN:1619-1366
-
Container-title:Software and Systems Modeling
-
language:en
-
Short-container-title:Softw Syst Model
Author:
Hammoudeh García Nadia,Deshpande Harshavardhan,Santos André,Kahl Björn,Bordignon Mirko
Abstract
AbstractModel-driven engineering (MDE) addresses central aspects of robotics software development. MDE could enable domain experts to leverage the expressiveness of models, while implementation details on different hardware platforms would be handled by automatic code generation. Today, despite strong MDE efforts in the robotics research community, most evidence points to manual code development being the norm. A possible reason for MDE not being accepted by robot software developers could be the wide range of applications and target platforms, which make all-encompassing MDE IDEs hard to develop and maintain. Therefore, we chose to leverage a large corpus of open-source software widely adopted by the robotics community to extract common structures and gain insight on how and where MDE can support the developers to work more efficiently. We pursue modeling as a complement, rather than imposing MDE as separate solution. Our previous work introduced metamodels to describe components, their interactions, and their resulting composition. In this paper, we present two methods based on metamodels for automated generation of models from manually written artifacts: (1) through static code analysis and (2) by monitoring the execution of a running system. For both methods, we present tools that leverage the potentials of our contributions, with a special focus on their application at runtime to observe and diagnose a real system during its execution. A comprehensive example is provided as a walk-through for robotics software practitioners.
Funder
National Funds through the Portuguese funding agency
German Federal Ministry for Economic Affairs and Energy
Horizon 2020 Framework Programme
Publisher
Springer Science and Business Media LLC
Subject
Modelling and Simulation,Software
Reference47 articles.
1. Catalog of ROS supported sensors. http://wiki.ros.org/Sensors. Accessed 29 Mar 2021
2. COB monitoring source code-GitHub link. https://github.com/ipa320/cob_command_tools/tree/indigo_dev/cob_monitoring. Accessed 29 Mar 2021
3. DiagnosticStatus message definition. http://docs.ros.org/api/diagnostic_msgs/html/msg/DiagnosticStatus.html. Accessed 29 Mar 2021
4. Docker project website. https://www.docker.com/. Accessed 25 Apr 2019
5. IEEE RAS Technical Committee for Software Engineering for Robotics and Automation. https://www.ieee-ras.org/software-engineering-for-robotics-andautomation. Accessed 29 Mar 2021
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Low-Code Approach for Connected Robots;Journal of Intelligent & Robotic Systems;2023-06
2. Augmenting Robot Software Development Process with Flexbot;2023 IEEE/ACM 5th International Workshop on Robotics Software Engineering (RoSE);2023-05
3. Getting Started with ROS2 Development: A Case Study of Software Development Challenges;2023 IEEE/ACM 5th International Workshop on Robotics Software Engineering (RoSE);2023-05
4. Lifting ROS to Model-Driven Development: Lessons Learned from a bottom-up approach;2023 IEEE/ACM 5th International Workshop on Robotics Software Engineering (RoSE);2023-05
5. Parameterised robotic system meta-model expressed by Hierarchical Petri nets;Robotics and Autonomous Systems;2022-04