Dataflow Graph Version Merging via Automated Differencing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development, merging multiple versions of a dataflow graph created by independent teams into a single, updated version is inefficient and unreliable, leading to challenges in combining development or debugging work effectively.

Innovation Solution

A computer-implemented method and system that performs a differencing analysis on each modified version of the dataflow graph to identify differences, merging these differences into a single set of combined differences, which are then applied to the base graph to generate an updated dataflow graph, ensuring efficient and reliable version management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple versions of a dataflow graph are merged manually, then the merging process can be controlled and reviewed, but the process is inefficient and unreliable

Engineering Contradiction:
Improvemerging reliabilityVSAvoidmerging efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs automated differencing analysis and merging of dataflow graphs without requiring manual intervention. The computer automatically identifies differences between graph versions, determines compatibility, and generates merged versions, enabling the system to serve itself in the merging process while ensuring reliability through systematic analysis

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual merging operations with automated computational processes. Instead of human developers manually comparing and merging graph versions, the system uses algorithmic differencing analysis to automatically identify changes, assess compatibility, and generate merged graphs, substituting mechanical human effort with automated mechanical computation

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If automated merging is implemented, then merging efficiency is improved, but the complexity of the merging system increases

Engineering Contradiction:
Improvemerging efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The merging system is divided into distinct functional modules: a differencing analysis module that identifies changes between graph versions, a compatibility determination module that assesses whether changes can be merged, and a merging module that generates combined versions. This segmentation allows each component to perform its specific function independently, managing overall system complexity through modular design

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements a universal merging framework that can handle multiple types of dataflow graph changes (additions, deletions, modifications) through a single automated process. The differencing analysis and compatibility determination mechanisms work across different graph versions and change types, providing multi-functional capability that improves efficiency without proportionally increasing complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If differencing analysis is performed on each modified version, then the accuracy of identifying changes is improved, but the time required for analysis increases

Engineering Contradiction:
Improvechange identification accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs differencing analysis as a preliminary step before merging, systematically identifying all changes in each modified version against the base graph. By conducting this analysis upfront and storing the difference information, the system achieves accurate change identification while reducing the time required during the actual merging process, as the comparative work has already been performed

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3803571B1Updating executable graphs
Publication Date: 2024.02.14 AB INITIO TECHNOLOGY LLC
  • EP3803571B1 patent drawingFigure 1
  • EP3803571B1 patent drawingFigure 2A~2B
  • EP3803571B1 patent drawingFigure 2C

AI summary

A method for generating an updated graph based on a base graph includes identifying differences between a base graph and each of a source and a target graph. The specification of each graph defines nodes representing data processing components defining operations for processing data, and links representing flow of data. The identifying includes: comparing specifications of base and source graphs to identify a first set of differences between the base and source graph, and comparing specifications of base and target graphs to identify a second set of differences between the base and the target graph. The method includes characterizing a correspondence between the differences in the first set and the differences in the second set, determining a set of combined differences based on the correspondence and the first and second sets of differences, and generating the updated graph based on the base graph and the set of combined differences.