Software Configuration Management Annotations for Parallel Development

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software configuration management (SCM) systems face challenges in efficiently managing changes across various logical boundaries within software development, such as maintaining traceable paths for changes across versions and streams, which complicates further development and integration of software assets.

Innovation Solution

The proposed solution involves using a software configuration management system that performs split-out, combine, and copy operations on software artifacts, generating annotations to track changes and maintain traceable paths, allowing changes to be implemented across different streams and versions while retaining history, through split-link and combine-link annotations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If changes are propagated across different streams and versions in traditional SCM systems, then the software system can be updated and integrated, but the traceable path of changes becomes complicated and difficult to maintain

Engineering Contradiction:
Improveefficiency of change propagationVSAvoidcomplexity of change traceability
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces annotations as intermediary elements that mediate between different streams and versions. These annotations serve as traceable records that link changes across logical boundaries without requiring complex manual tracking. The annotation system acts as a mediator that automatically maintains the traceable path of changes, resolving the contradiction by providing an automated intermediary mechanism rather than direct complex tracking.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent uses annotations as copies of change information that can be propagated independently across different streams and versions. Instead of directly managing complex relationships between all artifacts, the system creates annotated copies that carry change metadata, enabling efficient propagation while maintaining traceability through these copied annotation records rather than direct complex linkages.

Inventive Principle:
Principle #26Copying

2Loss of information

If annotations are generated to track changes across streams and versions, then the traceable path is maintained, but the system complexity increases

Engineering Contradiction:
Improvetraceability of change historyVSAvoidcomplexity of annotation management
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The annotation system is designed to be self-service in that annotations automatically generate and propagate themselves across streams and versions without requiring manual intervention. The system self-manages the creation, attachment, and propagation of annotations, reducing the complexity burden on users while maintaining complete traceability of change history through these autonomous annotation records.

Inventive Principle:
Principle #25Self-service

3Loss of information

If manual tracking of changes across logical boundaries is performed, then change history can be recorded, but the process is time-consuming and inefficient

Engineering Contradiction:
Improvecompleteness of change historyVSAvoidtime for change tracking
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system performs preliminary action by automatically generating annotations at the moment changes are made, rather than requiring subsequent manual tracking. The annotations are created and attached to artifacts in advance, before any propagation or tracing is needed, ensuring complete change history is captured immediately without time-consuming manual processes later.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10019257B2Parallel development of a software system
Publication Date: 2018.07.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10019257B2 patent drawing
  • US10019257B2 patent drawing
  • US10019257B2 patent drawing

AI summary

Parallel development of a software system having multiple streams is managed. A selected section from a first artifact in a first stream of the multiple streams is removed from a plurality of sections included within the first artifact. A second artifact is created and includes the selected section and does not include at least one other section of the plurality of sections. An annotation, as a computer data structure, is generated and the annotation specifies the first artifact, a range within the first artifact corresponding to the selected section, and the second artifact.