Policy-Based Event Engine for Software Architecture Conformance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current approaches lack a reliable and efficient method for controlling the development of complex software applications, particularly in ensuring compliance with a pre-defined architecture and timely integration of various development tools, leading to potential failures and errors.
Innovation Solution
A system comprising an event channel, a policy-based event engine, and a repository to monitor and control development tools, enabling early detection of policy violations and ensuring architecture conformance by evaluating events and initiating appropriate actions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple existing development tools are used for complex software application development, then functionality and versatility are improved, but control and coordination of these tools become difficult and unreliable
Solution Approach 1:
The patent introduces a central control system that acts as an intermediary between multiple development tools. This system receives events from various tools, evaluates them against defined policies, and coordinates their actions. The intermediary maintains reliability by providing a single point of control that ensures consistent policy enforcement across all tools, preventing the coordination difficulties that arise when tools operate independently.
Solution Approach 2:
The control system is designed with universal functionality to manage diverse development tools through a common interface. It can evaluate events from different tool types (compilers, linkers, debuggers, etc.) and initiate appropriate actions across the entire toolchain. This multi-functional approach maintains versatility while ensuring reliable control through standardized event handling and policy evaluation mechanisms.
2Reliability
If comprehensive control mechanisms are implemented to ensure architecture compliance, then software integrity is improved, but system complexity increases
Solution Approach 1:
The system implements preliminary action by defining policies and architectural constraints before the development process begins. The control system is pre-configured with rules that automatically evaluate events as they occur, ensuring compliance without requiring complex real-time analysis. This advance preparation reduces system complexity by replacing complex runtime control with simpler, pre-defined evaluation criteria that are automatically applied.
Solution Approach 2:
The control system uses feedback mechanisms where events from development tools are continuously evaluated against policies, and results are used to initiate corrective actions. This closed-loop feedback approach maintains software integrity through automatic compliance checking rather than complex manual control processes. The feedback-driven architecture simplifies the control system by relying on automated evaluation and response rather than complex decision-making logic.
3Measurement precision
If continuous monitoring of development events is performed, then detection precision of policy violations is improved, but processing time increases
Solution Approach 1:
The system replaces mechanical/manual policy checking with automated electronic event evaluation. Development tool events are automatically captured, evaluated against defined policies, and processed by the control system without manual intervention. This substitution maintains high detection precision for policy violations while reducing processing time by eliminating manual review steps and enabling parallel evaluation of multiple events against multiple policies simultaneously.
Data Source
AI summary
Certain example embodiments relate to techniques for controlling the development of a software application. The system includes an event channel for receiving at least one event that indicates an action performed by one of a plurality of existing development tools used in the development of the software application, a policy-based event engine for evaluating the at least one event and for initiating at least one action of one of the plurality of existing development tools in accordance with at least one policy, and a repository, for storing at least one artifact to define an architecture of the software application. The at least one artifact corresponds to a component of the software application and/or to a dependency between a first component and a second component of the software application.

