Hierarchical Reference Management for Version Control Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing version control systems for managing complex systems with multiple components and sub-components are inefficient as they only allow saving and retrieving entire designs, limiting the ability to use more recent components and reducing team efficiency.

Innovation Solution

The method involves using different types of hierarchical references to manage hierarchies of modules, allowing users to select between static, dynamic, or hybrid versions, enabling efficient retrieval and management of module hierarchies by automatically defining static references for dynamic ones, and allowing single requests for committing changes across entire hierarchies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing version control software is used to save and retrieve entire designs, then version tracking is maintained, but team efficiency is reduced and access to recent components is limited

Engineering Contradiction:
Improveteam efficiencyVSAvoidaccess to recent components
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent segments the monolithic design retrieval process into granular component-level operations. Instead of retrieving entire designs, the system allows selection and retrieval of individual components or sub-components from the design hierarchy. This segmentation enables teams to access only the specific recent components needed rather than downloading entire design packages, thereby improving productivity and access efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of hierarchical navigation within version control systems. By implementing multi-level hierarchy navigation (designs → components → sub-components), the system enables selective access at any level of the design hierarchy. This dimensional enhancement allows teams to efficiently locate and access recent components without retrieving unrelated design elements, resolving the contradiction between version tracking and access efficiency.

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

2Device complexity

If the granularity of constituent parts becomes finer to manage complex systems, then system complexity is better organized, but coordinating work across components becomes more difficult

Engineering Contradiction:
Improvesystem organizationVSAvoidcoordination difficulty
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent implements a nested hierarchy structure where designs contain components, components contain sub-components, and so forth. This nested organization mirrors the natural structure of complex systems while providing clear parent-child relationships. The system uses hierarchical references to maintain these nested connections, enabling automatic coordination updates when changes propagate through the hierarchy, thus managing complexity without increasing coordination difficulty.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent incorporates feedback mechanisms that automatically detect and propagate changes through the hierarchical structure. When a component or sub-component is modified, the system provides feedback about the change and automatically updates affected parent components and sibling components. This feedback loop reduces manual coordination effort by ensuring consistency across the hierarchy, resolving the contradiction between fine-grained organization and coordination ease.

Inventive Principle:
Principle #23Feedback

3Reliability

If version control systems track changes to maintain system stability, then reliability is improved, but flexibility to use recent components is reduced

Engineering Contradiction:
Improvesystem stabilityVSAvoidflexibility to use recent components
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic hierarchical references that can adapt between different states (committed vs. uncommitted). The system allows references to point to either stable committed versions or recent uncommitted versions depending on the needs of the operation. This dynamic behavior enables teams to maintain reliability by using committed versions when stability is needed, while simultaneously allowing access to recent components for experimentation and iteration, thus resolving the contradiction between reliability and adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of version reference from fixed (only committed versions) to variable (can be committed or uncommitted). By allowing the reference state to change based on operational needs, the system provides flexibility to access recent components while maintaining the ability to enforce stability when required. This parameter change enables both reliability and adaptability to coexist in the version control system.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8521736B2Managing hierarchies of components
Publication Date: 2013.08.27 DASSAULT SYSTEMS AMERICAS CORP
  • US8521736B2 patent drawing
  • US8521736B2 patent drawing
  • US8521736B2 patent drawing

AI summary

Described are methods, systems, and apparatus, including computer program products for managing a hierarchy of modules. A user can select a first hierarchy or a second hierarchy, where the first hierarchy includes a module and a first sub-module. The module is associated with a component and the first sub-module is associated with a first sub-component of the component. The module is associated with the first sub-module using a first hierarchical reference of a first type. The second hierarchy includes the module and a second sub-module, where the second sub-module is associated with the first sub-component. The module is associated with the second sub-module using a second hierarchical reference of a second type that is different from the first type.