Microservice architectures encourage the use of small, independently developed services; however, this can lead to increased architectural complexity. Accurate documentation is crucial, but is challenging to maintain due to the rapid, independent evolution of services. While static architecture reconstruction provides a way to maintain up-to-date documentation, existing approaches suffer from technology limitations, mono-repo constraints, or high implementation barriers. This paper presents a novel framework for static architecture reconstruction that supports technology-specific analysis modules, called \emph{extractors}, and supports \emph{distributed architecture reconstruction} in multi-repo environments. We describe the core design concepts and algorithms that govern how extractors are executed, how data is passed between them, and how their outputs are unified. Furthermore, the framework is interoperable with existing static analysis tools and algorithms, allowing them to be invoked from or embedded within extractors.
翻译:微服务架构鼓励使用小型、独立开发的服务;然而,这可能导致架构复杂性增加。准确的文档至关重要,但由于服务的快速、独立演进,文档维护具有挑战性。虽然静态架构重构提供了一种维护最新文档的方法,但现有方法存在技术限制、单仓库约束或高实现门槛。本文提出了一种新颖的静态架构重构框架,该框架支持特定技术分析模块(称为 \emph{提取器}),并支持在多仓库环境中的 \emph{分布式架构重构}。我们描述了核心设计概念和算法,这些概念和算法规定了提取器的执行方式、数据在它们之间的传递方式以及它们输出的统一方式。此外,该框架与现有的静态分析工具和算法具有互操作性,允许从提取器中调用或嵌入它们。