Software Product Line Architecture for Efficient Build Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software change management systems are inefficient in generating builds for complex and evolving software systems, requiring excessive computing resources and failing to effectively manage interactions between multiple components.

Innovation Solution

The development of a software product line architecture that utilizes a multi-agent approach, separating core and non-core components, allowing for easier composition and reducing resource requirements through state-of-the-art software engineering techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional software change management systems are used to generate builds for complex evolving software systems, then the system can manage version changes, but the computing resources required become excessively large and build generation takes over twelve hours

Engineering Contradiction:
Improveversion management capabilityVSAvoidbuild generation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the software system into multiple independent components or modules that can be built and managed separately. This allows the build process to work on individual segments rather than the entire system, dramatically reducing build time and resource requirements while maintaining version management capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic build configuration where the build system adapts to the specific changes made in each version. Rather than rebuilding the entire system, the build process dynamically identifies and processes only the modified components, improving productivity while maintaining reliable version control.

Inventive Principle:
Principle #15Dynamics

2Reliability

If conventional software change management systems are used, then version tracking is possible, but the resource requirements for generating builds become excessively large

Engineering Contradiction:
Improveversion tracking capabilityVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

By dividing the software system into separate buildable units, the patent enables version tracking at the component level rather than requiring system-wide builds. This segmentation reduces computing resource consumption while maintaining comprehensive version tracking capabilities for all components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses lightweight copy mechanisms to track version changes across components. Instead of requiring full system copies and comprehensive builds for version tracking, the system uses efficient copying and referencing techniques that minimize resource consumption while ensuring accurate version management.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If the system is designed to accommodate significant changes over time, then the system can evolve to meet changing requirements, but the complexity of managing interactions between multiple components increases

Engineering Contradiction:
Improvesystem evolution capabilityVSAvoidcomponent interaction management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the system into modular components with well-defined interfaces, allowing each component to evolve independently. This reduces the complexity of managing interactions by establishing clear boundaries and communication protocols between segments, enabling system evolution without proportionally increasing management complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements universal component interfaces and standardized interaction mechanisms that work across different system configurations. This multi-functionality allows the same component architecture to handle various interaction scenarios, reducing complexity while maintaining adaptability to changing requirements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8694963B2Systems, methods and apparatus for developing and maintaining evolving systems with software product lines
Publication Date: 2014.04.08 UNITED STATES OF AMERICA AS REPRESENTED BY THE ADMINISTRATOR NAT AERONAUTICS & SPACE ADMINISTRATION
  • US8694963B2 patent drawing
  • US8694963B2 patent drawing
  • US8694963B2 patent drawing

AI summary

Systems, methods and apparatus are provided through which an evolutionary system is managed and viewed as a software product line. In some embodiments, the core architecture is a relatively unchanging part of the system, and each version of the system is viewed as a product from the product line. Each software product is generated from the core architecture with some agent-based additions. The result may be a multi-agent system software product line.