Bootstrapping MDE development from ROS manual code: Part 2—Model generation and leveraging models at runtime
Autor: | Nadia Hammoudeh Garcia, Andre Santos, Harshavardhan Deshpande, Mirko Bordignon, Bjorn Kahl |
---|---|
Rok vydání: | 2021 |
Předmět: |
0209 industrial biotechnology
Computer science business.industry Software development Robot software Static program analysis Robotics 02 engineering and technology Domain (software engineering) 020901 industrial engineering & automation Software Modeling and Simulation 0202 electrical engineering electronic engineering information engineering Leverage (statistics) 020201 artificial intelligence & image processing Code generation Artificial intelligence Software engineering business |
Zdroj: | Software and Systems Modeling. 20:2047-2070 |
ISSN: | 1619-1374 1619-1366 |
Popis: | Model-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. |
Databáze: | OpenAIRE |
Externí odkaz: |