Software Customization Conflict Resolution via Dependency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Customization conflicts arise when multiple customizations attempt to modify the same element in a software product, making it challenging to determine which changes to apply, especially in complex scenarios where customizations are made to already-customized products.

Innovation Solution

The customization subsystem resolves conflicts by accessing product dependency information to identify which customizations are based on a common parent product, reducing the number of conflicting changes and applying the appropriate modifications, while using alternate conflict resolution mechanisms for remaining conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple customizations are applied to the same base product element, then the functionality and adaptability of the software product is improved, but conflicts arise making it difficult to determine which changes to apply

Engineering Contradiction:
Improvecustomization capabilityVSAvoidconflict resolution complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by resolving conflicts between customizations before applying them to the base product. The conflict resolution mechanism analyzes dependency information and determines the resolution strategy in advance, ensuring that customizations are applied in the correct sequence and order, thereby preventing conflicts during the application process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a conflict resolution mechanism as an intermediary component that mediates between multiple customizations and the base product. This intermediary analyzes dependency information, determines which customizations should be applied together, and coordinates the application process, thereby simplifying the overall complexity of managing multiple customizations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If customizations are made to an already-customized product, then the flexibility and extendability of the software is improved, but the complexity of determining which customization to apply increases

Engineering Contradiction:
Improvecustomization extendabilityVSAvoidconflict detection difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system implements feedback mechanisms by analyzing dependency information to determine the resolution strategy for conflicts. The conflict resolution mechanism receives dependency information about customizations and provides feedback on which customizations should be applied together, ensuring that the correct customization is applied even when customizing an already-customized product.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary analysis of dependency information before applying customizations to determine the correct resolution strategy. This preliminary action includes analyzing which customizations depend on which, and determining the application sequence, thereby simplifying the detection and resolution of conflicts in complex customization scenarios.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If conflict resolution mechanisms are used to resolve customization conflicts, then the reliability of the software product is improved, but the processing time and complexity increase

Engineering Contradiction:
Improvecustomization application reliabilityVSAvoidconflict resolution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary resolution of conflicts by analyzing dependency information before the customization application process begins. The conflict resolution mechanism determines the resolution strategy in advance based on dependency analysis, which reduces the time required during the actual customization application process and improves overall efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7840941B2Conflict resolution of software customizations based on product dependencies
Publication Date: 2010.11.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7840941B2 patent drawing
  • US7840941B2 patent drawing
  • US7840941B2 patent drawing

AI summary

Customizations are applied to a software product by determining whether any of the customizations to be applied are in conflict with one another. If so, product dependency information, which identifies a product that the customizations are based on, is used to reduce a number of conflicting customizations to be made to the software product. Any remaining conflicts are resolved, and the customizations are applied.