Table of Contents
Fetching ...

Modeling and Recovering Hierarchical Structural Architectures of ROS 2 Systems from Code and Launch Configurations using LLM-based Agents

Mohamed Benchat, Dominique Briechle, Raj Chanchad, Mitbhai Chauhan, Meet Chavda, Ruidi He, Dhruv Jajadiya, Dhruv Kapadiya, Nidhiben Kaswala, Daniel Osterholz, Andreas Rausch, Meng Zhang

TL;DR

A UML-based modeling concept for hierarchical structural architectures of ROS~2 systems and a blueprint-guided automated recovery pipeline that reconstructs such models from code and configuration artifacts by combining deterministic extraction with LLM-based agents are contributed.

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.

Modeling and Recovering Hierarchical Structural Architectures of ROS 2 Systems from Code and Launch Configurations using LLM-based Agents

TL;DR

A UML-based modeling concept for hierarchical structural architectures of ROS~2 systems and a blueprint-guided automated recovery pipeline that reconstructs such models from code and configuration artifacts by combining deterministic extraction with LLM-based agents are contributed.

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.
Paper Structure (26 sections, 1 equation, 4 figures, 3 tables)

This paper contains 26 sections, 1 equation, 4 figures, 3 tables.

Figures (4)

  • Figure 1: Code-level and Architecture-level representation of the AtomicRosNodeClassifierFooNode, including the AtomicClassifierDiagram and the associated Message & ServiceTypeDiagram. The colored Trace lines indicate the mapping between model annotations and code-level identifiers.
  • Figure 2: Code- and architecture-level representation of the ComposedRosNodeClassifierCompose_example. The architecture-level view comprises two ComposedClassifierDiagrams; atomic classifier structures are embedded but not explicitly represented as separate diagrams. Colored Trace lines indicate the mapping between model annotations and code-level identifiers.
  • Figure 3: C4-conformed Architecture of Blueprint-Guided Automated Architecture Recovery System (retrofitted after brown2013software).
  • Figure 4: Setup of Experimental Evaluation Pipeline