Options
2019
Conference Paper
Title
Bootstrapping MDE Development from ROS Manual Code - Pt.1: Metamodeling
Abstract
Ten years after its first release, the Robot Operating System (ROS) is arguably the most popular software framework used to program robots. It achieved such status despite its shortcomings compared to alternatives similarly centered on manual programming and, perhaps surprisingly, to model-driven engineering (MDE) approaches. Based on our experience as users and developers of both ROS and MDE tools, we identified possible ways to leverage the accessibility of ROS and its large software ecosystem, while providing quality assurance measures through selected MDE techniques. After describing our vision on how to combine MDE and manually written code, we present the first technical contribution in this pursuit: a family of three metamodels to respectively model ROS nodes, communication interfaces, and systems composed from subsystems. Such metamodels can be used, through the accompanying Eclipse-based tooling made publicly available, to model ROS systems of arbitrary complexity and generate with correctness guarantees the software artifacts for their composition and deployment. Furthermore, they account for specifications on these aspects by the Object Management Group (OMG), in order to be amenable to hybrid systems coupling ROS and other frameworks. We also report on our experience with a large and complex corpus of ROS software used in a commercially deployed robot (the Care-O-bot 4), to explain the rationale of the presented work, including the shortcomings of standard ROS tools and of previous efforts on ROS modeling.
Author(s)