Routing Graph Decouples Event Routing from Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Complexity in software systems, particularly event-driven applications, hinders understanding and navigation due to intertwined data flow and processing steps, leading to high learning curves and reduced productivity for development and maintenance teams.
Innovation Solution
The implementation of a routing graph data structure, comprising directed acyclic graph nodes that decouple event routing from processing, allowing visualization and simulation of data flow separately from processing steps, and enabling a more structured approach to software development and maintenance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If code is organized based on technological affinity or resource in use, then code structure follows common organizational patterns, but data flow becomes hard to discern and system complexity increases
Solution Approach 1:
The patent segments the software system into distinct event sources, event types, and processing handlers. By organizing code around event types rather than technological layers, it creates clear separation between data flow definitions and processing implementation, making both easier to understand and maintain independently.
Solution Approach 2:
The patent introduces an event-driven architecture as an intermediary layer between data sources and processing logic. Events serve as standardized intermediaries that carry data through the system, decoupling the organization of data flow from the implementation details of processing steps and reducing overall system complexity.
2Adaptability or versatility
If data flow is interleaved with processing steps code and abstracted by modern software paradigms, then code follows modern programming practices, but understanding and navigation of core functionality becomes difficult
Solution Approach 1:
The patent extracts data flow definitions from the processing logic by using event type hierarchies and routing tables. The data flow is explicitly defined through event source registrations and handler mappings, separating it from the actual processing implementation and making it independently navigable and understandable.
3Device complexity
If software systems lack a comparable navigation solution like city maps, then system architecture remains traditional, but learning curves increase and productivity decreases
Solution Approach 1:
The patent introduces graphical event flow diagrams as an intermediary representation layer between the codebase and developers. These diagrams provide map-like navigation of the event-driven architecture, showing data flow paths, event transformations, and processing sequences independently of implementation details, thereby reducing learning curves and improving productivity.
Data Source
AI summary
A method for modeling and execution of event-driven software applications. Its main parts are the routing graph model, the run time engine and optionally a user interface and automatic configuration modules. The routing graph is comprised of routing and processing task nodes. Routing nodes are enriched with node-type specific event routing logic. Task nodes process specific types of events and produce output events. The run time engine executes the routing graph model, based on the routing nodes logic and the tasks processing functions. The user interface component is used to compose and manage the routing graph configuration. The automatic configuration modules may be used to combine and configure predefined routing sub-graphs into a resulting routing graph model.


