Data Flow Visualization from Syntax Trees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems lack an efficient mechanism to visualize and understand data flows in query scripts, particularly in big data environments, making it difficult for authors and reviewers to verify and correct data flows effectively.

Innovation Solution

A computerized mechanism that generates a data flow representation from a syntax tree, allowing for the identification and visualization of input and output data types of nodes, while honoring dependencies, to create an intuitive representation of the data flows caused by query scripts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If query scripts are processed through traditional parsing and syntax tree construction, then the queries can be executed efficiently, but the data flow representation remains invisible and difficult to verify

Engineering Contradiction:
Improvedata flow visibilityVSAvoidprocessing mechanism complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary data flow representation layer between the query script and its execution. This intermediate representation captures the data flow semantics explicitly, allowing verification without changing the core query processing mechanism. The data flow representation acts as a mediator that translates the implicit data flow in syntax trees into an explicit, visualizable form.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copy of the query script's semantic structure in the form of a data flow representation. This copy preserves the essential data flow information while presenting it in a different, more visible format. The data flow representation is derived from the syntax tree but presents information in a manner that is easier to verify and understand.

Inventive Principle:
Principle #26Copying

2Reliability

If authors write query scripts without visual feedback, then the scripting process is faster, but errors in data flow logic are harder to detect and correct

Engineering Contradiction:
Improvedata flow correctnessVSAvoidscript verification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a feedback mechanism by generating data flow representations that provide visual feedback to authors about their query scripts. This feedback loop allows authors to see the actual data flow implications of their scripts and make corrections before execution, improving reliability without significant time loss.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary analysis of the query script to generate the data flow representation before execution. This preliminary action identifies potential data flow errors early in the development process, allowing authors to correct issues before they manifest as execution problems, thereby improving reliability.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If new users study query scripts directly, then they can understand the logic, but the data flow operations remain abstract and difficult to grasp

Engineering Contradiction:
Improvequery script understandabilityVSAvoiddata flow semantics
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent uses visual differentiation in the data flow representation to make data flow semantics more apparent. Different visual elements represent different aspects of data flow (inputs, outputs, transformations), making the abstract operations concrete and easier to understand for new users.

Inventive Principle:
Principle #32Color changes

Solution Approach 2:

The patent transforms the one-dimensional linear structure of query scripts into a two-dimensional data flow representation. This dimensional change reveals the data flow topology and relationships that are hidden in the linear script format, making it easier for users to understand the overall data flow pattern.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10942922B2Generation of data flow from syntax tree
Publication Date: 2021.03.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10942922B2 patent drawing
  • US10942922B2 patent drawing
  • US10942922B2 patent drawing

AI summary

A computerized mechanism to formulate a data flow representation from a syntax tree. The syntax tree may be, for instance, an abstract syntax tree (AST) that is formulated by compiling query script, such as big data query script. Each node in the syntax tree is composed of one or more tokens (script portions) that are taken from the query script, which relationships between the tokens being syntactically represented by links between those tokens. Accordingly, the data flow representation may also be a data flow representation of the original query script itself. In order to formulate the data flow representation from the syntax tree, the data types of the various inputs and outputs of the syntax tree nodes are identified and bound to a corresponding data flow. This may be performed whilst honoring dependencies between the nodes. The data flow may be visualized to an author or reviewer of the script.