Dynamic Software Enhancement via Segmented Source Code Components

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Customizations to software are often lost during upgrades, requiring manual reintegration which is time-consuming and error-prone, especially for extensive modifications.

Innovation Solution

Creating a second source code component that incorporates modifications at specific enhancement points without altering the original source code, allowing for separate documentation and management of enhancements, which can be dynamically enabled or disabled.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If modifications are made directly to the source code to customize software, then the software can be tailored to specific needs, but the modifications are lost during upgrades requiring manual reintegration

Engineering Contradiction:
Improvesoftware customizationVSAvoidmanual reintegration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the software into base functionality and customizable enhancements. Modifications are created as separate enhancement components that can be independently managed, applied, and reapplied without being lost during upgrades. This segmentation allows customization to be preserved as distinct units rather than being merged into the core source code.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-defining enhancement points in the source code where modifications can be applied. These enhancement points are prepared in advance with specific interfaces and hooks, allowing customizations to be systematically integrated without manual reintegration efforts during each upgrade cycle.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If extensive modifications are made to software source code, then the software can be heavily customized, but the manual reintegration process becomes more error-prone

Engineering Contradiction:
Improvesoftware customization extentVSAvoidreintegration accuracy
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

Enhancement points are predefined with explicit interfaces and contracts before any modifications are made. This preliminary structure ensures that extensive customizations can be applied systematically at designated locations, reducing errors during reintegration by providing clear guidance on where and how modifications should be incorporated.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces enhancement points as intermediary structures between the base software and custom modifications. These intermediaries provide standardized interfaces that mediate the integration process, ensuring that extensive modifications are incorporated reliably without directly altering the core source code, thus maintaining reintegration accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If modifications are integrated into the source code, then the customized functionality is achieved, but separate documentation and management of enhancements becomes difficult

Engineering Contradiction:
Improvecustomization implementationVSAvoidenhancement management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments enhancements into distinct, independently manageable components that can be documented and tracked separately from the base source code. Each enhancement is associated with specific enhancement points, allowing for separate version control, documentation, and management without entangling customizations with core code changes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Enhancement points serve as intermediaries that link custom modifications to the base software without requiring direct integration into the source code. This intermediary structure enables separate documentation and management of enhancements, as they can be maintained as distinct entities that reference the base software through defined interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If the same source code component is modified multiple times, then multiple enhancements can be applied, but managing multiple versions of modifications becomes complex

Engineering Contradiction:
Improvemultiple enhancementsVSAvoidmodification version management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments multiple enhancements into separate, independently managed components, each associated with specific enhancement points. This segmentation allows multiple versions and types of modifications to be maintained separately, applied in different combinations, and managed without the complexity of merging multiple modifications into a single source code component.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8171452B2Dynamic software enhancement
Publication Date: 2012.05.01 SAP SE
  • US8171452B2 patent drawing
  • US8171452B2 patent drawing
  • US8171452B2 patent drawing

AI summary

Methods and apparatus, including computer program products, for accepting user input defining a first modification at a first enhancement point of a first source code component, the first source code component not being modified. Creating a second source code component for the first enhancement point, the second source code component being separate from the first source code component. Incorporating into the second source code component the first source code component and an expression of the first modification. And creating a compiled program using the second source code component.