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.
翻译:模型驱动工程依赖于显式的架构模型来记录和演化跨越不同抽象层次的系统。对于ROS~2而言,子系统结构通常隐式编码在分布式配置制品中——尤其是启动文件——这使得层次化的结构分解难以捕获和维护。现有的ROS~2建模方法涵盖了节点级实体与连接,但并未将独立于启动制品的层次化结构(分)解作为首要的架构视图。我们的贡献包括:(1)一种基于UML的ROS~2系统层次化结构架构建模概念;(2)一种蓝图引导的自动化恢复流程,该流程通过将确定性提取与基于LLM的智能体相结合,从代码和配置制品中重建此类模型。ROS~2架构蓝图(节点、主题、接口、启动引发的连接)被编码为结构契约,以约束合成过程并支持确定性验证,从而提升可靠性。我们在三个ROS~2代码库上评估了该方法,其中包括一个工业规模的代码子集。结果表明,该方法在不同抽象层次上均具有高精确度,而子系统级的召回率则随代码库复杂度的增加而下降,这归因于隐式的启动语义,使得高层级恢复成为尚待解决的挑战。