Software Configuration Management Annotations for Parallel Development
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.


