Automated Architecture Drift Detection via Domain Specific Language
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for generating and maintaining software application architecture models are manual, cumbersome, and lack the ability to automatically track architecture drift between current and progressive states, making it difficult to manage changes and detect architectural discrepancies.
Innovation Solution
A system and method for auto-generating application-specific DSL components, transforming them into model objects, and generating current and progressive state architectures, which includes detecting architecture drift by comparing these states using a visual interface and Domain Specific Language (DSL) components sourced from repositories.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If manual methods are used to generate and maintain architecture models, then flexibility and adaptability are maintained, but productivity and time efficiency deteriorate significantly
Solution Approach 1:
The system enables self-service automation where the architecture modeling system automatically generates, updates, and maintains architecture models by consuming artifacts from development tools. The system monitors code changes, automatically updates architecture models, and detects drift without requiring manual intervention, thus resolving the contradiction between productivity and automation extent.
Solution Approach 2:
The patent replaces manual mechanical processes of architecture modeling with automated computational systems. The system uses code parsers, automated model generators, and drift detection algorithms to substitute manual model creation and maintenance activities, significantly improving productivity while reducing manual intervention requirements.
2Manufacturing precision
If manual architecture model updates are performed after each change, then model accuracy is maintained, but time consumption and labor effort increase
Solution Approach 1:
The system performs preliminary actions by establishing automated monitoring and parsing mechanisms before changes occur. The system pre-configures code parsers and change detection algorithms that automatically trigger model updates when code changes are detected, eliminating the need for manual review and significantly reducing update time while maintaining accuracy.
Solution Approach 2:
The patent implements continuous feedback loops where the system monitors code changes, automatically updates architecture models, and detects drift conditions. This closed-loop feedback mechanism ensures model accuracy is maintained through continuous synchronization with actual code state, eliminating time-consuming manual verification processes.
3Difficulty of detecting and measuring
If comprehensive architecture drift tracking is implemented, then detection capability is improved, but system complexity increases
Solution Approach 1:
The system extracts and isolates the drift detection function as a separate, focused module that operates independently from the main architecture modeling system. By extracting the detection capability and making it a specialized component that consumes existing model artifacts, the system achieves comprehensive drift tracking without proportionally increasing overall system complexity.
Solution Approach 2:
The patent introduces an intermediary layer of standardized artifacts and data formats that mediate between code changes and drift detection. This intermediary artifact layer simplifies the complexity by providing a standardized interface for change detection and model comparison, making the drift detection capability more manageable and less complex.
Data Source
AI summary
A method and a system for automatic generation of application architecture models and tracking of architecture drift are provided. The present solution provides a framework that allows a centralized architecture team to create a base Domain Specific Language (base-DSL) for any software application, where this base-DSL includes basic components that may be required to generate a model for any application. The framework of the present disclosure also provides a means to enrich base-DSLs for any specific application to generate application-specific DSL. Further, the framework provides a visual interface for product architects to create a to-be or progressive state architecture using the application-specific DSL. The framework is also able to generate a current state architecture of an application using application metadata and application-specific DSL. The framework is also able to detect architecture drifts between current and to-be or progressive architecture states of an application.


