Reverse-Engineering of Behavior-Based Robot Components
摘要
Robots perform a wide range of tasks, from exploring environments to holding conversations. The control systems of these robots are inherently complex and should be maintained with the support of modeling and inspection tools. This paper discusses the reverse engineering of software components from source code to build model databases for use cases such as inspection, modeling, code generation, and parametrization. Therefore, component models and interface details are reverse-engineered from the source code with structural information from their abstract syntax trees. Several code bases from separate robotic systems have been examined to analyze the specification and dependencies between existing components. Post-experimentation results indicate that lack of documentation could pose a problem to retrieve relevant components. Although a high-level description is extracted, engineers are obliged to complete the model specification with regards to interface semantics to foster component reuse and modeling.