API Architecture Guideline Validation via Compilation Invocation Graphs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software development processes lack effective mechanisms to enforce architecture guidelines for APIs, leading to interoperability issues and inconsistent performance among services, which can result in violations and performance deficiencies.
Innovation Solution
An architecture guideline validation system that analyzes program code during compilation to generate an invocation graph, identifies violations, and monitors performance to determine necessary modifications to the guidelines, ensuring compliance and optimal performance by displaying errors or warnings and adjusting guidelines based on telemetry data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If automated validation of architecture guidelines is implemented, then software quality and interoperability are improved, but device complexity and development overhead increase
Solution Approach 1:
The system performs architecture guideline validation during the compilation phase, before the software is deployed. The compiler generates an invocation graph and validates it against architecture guidelines, identifying violations early in the development process. This preliminary action prevents violations from reaching production, improving software quality without requiring complex runtime validation mechanisms.
Solution Approach 2:
The patent introduces an intermediary validation system that sits between the compiler and the final software deployment. This intermediary generates and analyzes invocation graphs to detect architecture guideline violations. By using this intermediate validation layer, the system maintains software quality while keeping the core compilation process relatively simple and modular.
2Loss of time
If real-time monitoring and validation are performed, then performance issues are detected earlier, but processing time and computational resources increase
Solution Approach 1:
The system performs validation during the compilation phase rather than during runtime execution. By generating the invocation graph and validating architecture guidelines before deployment, the system detects violations early without consuming computational resources during actual service execution. This approach minimizes runtime overhead while maintaining early detection capability.
Data Source
AI summary
To determine whether a set of software services underlying an API adhere to architecture guidelines, an architecture guideline validation system analyzes program code as part of a compilation process for the services to generate a data structure that indicates an organization of the services and invocations between the services. The system analyzes the data structure to determine whether any architecture guidelines have been violated. Example architecture guidelines can include limitations on a number of successive invocations and restrictions as to a directionality of invocations (e.g. an invocation by a private, secure service to an exposed, client-facing service). If any violations are identified, the system indicates the violations and may display the violations as compiler errors or warnings.


