Dataflow Graph Field Disambiguation via Topology Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In the development of software applications as dataflow graphs, there is a complexity in specifying data fields due to numerous datasets with shared field names, and fields may have different values in different portions of the application, leading to potential incorrect results.
Innovation Solution
A method and system for efficiently developing software applications by dynamically determining and presenting valid data fields available at different points in the dataflow graph, using a graphical development environment to process the topology of the dataflow graph and identify available data fields, and disambiguating fields with shared names based on their paths through the graph.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a programmer specifies data fields manually in a dataflow graph with many datasets sharing field names, then the application can access data from multiple sources, but the complexity of specifying correct fields increases and errors occur more frequently
Solution Approach 1:
The system automatically resolves field name ambiguities by analyzing the dataflow graph topology and determining which fields are available at each point without requiring manual intervention. The field resolution is performed self-service by the system itself, eliminating the need for programmers to manually disambiguate field names across multiple datasets.
Solution Approach 2:
The system provides feedback to the programmer by presenting a simplified list of available fields at each point in the dataflow graph, automatically resolved and disambiguated. This feedback mechanism shows the programmer exactly which fields are available without the complexity of manual specification, reducing errors while maintaining versatility.
2Adaptability or versatility
If fields with the same name are used from different datasets or paths, then data can be accessed from multiple sources, but ambiguity arises leading to incorrect results
Solution Approach 1:
The system segments the field resolution process by analyzing different paths in the dataflow graph separately. It determines which fields are available at each point by processing the topology upstream of that point, effectively segmenting the complex ambiguity resolution into manageable path-based analyses. This ensures reliable field selection from multiple sources.
Solution Approach 2:
The system introduces an intermediary field resolution mechanism that sits between the programmer's field specifications and the actual data access. This intermediary automatically resolves ambiguities by analyzing the dataflow graph topology and determining the correct fields based on path analysis, ensuring reliability while maintaining the ability to access data from multiple sources.
3Loss of information
If the system presents all available fields at each point, then the programmer has complete information, but the listing becomes complex and difficult to navigate
Solution Approach 1:
The system extracts and presents only the essential information needed for field specification at each point in the dataflow graph. By processing the topology upstream of each point, it extracts the relevant available fields and presents them in a simplified manner, removing unnecessary complexity while maintaining completeness of field information.
Data Source
AI summary
Some embodiments relate to generating a list of data fields referenceable at a point in a graph (there are different lists for each point). This list may be used as part of programming a dataflow graph to select data (e.g., at an input node of a component to select data processed in that component). One aspect relates to display of the list of data fields, because some of the data field names may be overloaded. Accordingly, the data fields may be presented hierarchically if necessary, showing the source for each overloaded data field name. Otherwise, the user may select whether the list of referenceable fields is grouped by source.


