🤖 AI Summary
This work addresses the challenge that ROS 2 systems often embed their layered architecture implicitly within launch configurations, lacking an explicit, standalone architectural view and thereby hindering maintainability. To overcome this, the paper introduces the first approach that models the layered structure as a first-class architectural view in ROS 2. It proposes an automated recovery method combining deterministic parsing with a large language model (LLM) agent, where UML modeling and structural contracts constrain the LLM’s synthesis process, and architectural blueprints guide verifiable, high-fidelity reconstruction. Evaluation on three ROS 2 repositories—including an industrial-scale subset—demonstrates high precision across all abstraction levels, though recall for subsystems declines in complex systems due to the implicit semantics of launch configurations.
📝 Abstract
Model-Driven Engineering (MDE) relies on explicit architecture models to document and evolve systems across abstraction levels. For ROS~2, subsystem structure is often encoded implicitly in distributed configuration artifacts -- most notably launch files -- making hierarchical structural decomposition hard to capture and maintain. Existing ROS~2 modeling approaches cover node-level entities and wiring, but do not make hierarchical structural (de-)composition a first-class architectural view independent of launch artifacts.
We contribute (1) a UML-based modeling concept for hierarchical structural architectures of ROS~2 systems and (2) a blueprint-guided automated recovery pipeline that reconstructs such models from code and configuration artifacts by combining deterministic extraction with LLM-based agents. The ROS~2 architectural blueprint (nodes, topics, interfaces, launch-induced wiring) is encoded as structural contracts to constrain synthesis and enable deterministic validation, improving reliability.
We evaluate the approach on three ROS~2 repositories, including an industrial-scale code subset. Results show high precision across abstraction levels, while subsystem-level recall drops with repository complexity due to implicit launch semantics, making high-level recovery the remaining challenge.