Central Compilation Service for Source File Activation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development processes face inefficiencies due to insufficient computing power for instant recompilation of large software products, leading to wasted resources, delayed interoperability testing, and increased central compilation failures, especially with multiple developers working on the same product.

Innovation Solution

A central compilation service checks modified source files for compilability, activates only successfully compiled files, and employs a parallel build mechanism to reduce waiting times and compilation failures, allowing for incremental and IDE-independent compilation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If source files are compiled centrally after transfer from source control system, then compilation results are available for developers, but compilation time is excessive and resources are wasted

Engineering Contradiction:
Improvedeveloper productivityVSAvoidcompilation waiting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary local compilation of source files before they are transferred to the central compilation service. This preliminary action ensures that only successfully compiled and validated source files are submitted for central compilation, reducing the central compilation workload and wait time for developers.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The compilation process is segmented into local compilation (performed by individual developers' IDEs) and central compilation (performed by the central compilation service). This segmentation allows parallel processing of compilation tasks across multiple developers' machines, significantly reducing overall compilation waiting time.

Inventive Principle:
Principle #1Segmentation

2Reliability

If all components are compiled centrally even when no source files have been changed, then compilation results are updated, but computing resources are wasted

Engineering Contradiction:
Improvecompilation result consistencyVSAvoidcentral computer resources
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system implements a feedback mechanism where the central compilation service receives notifications about source file changes from the source control system. Based on this feedback, the service determines whether central compilation is necessary, avoiding unnecessary compilations when no changes have occurred.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Instead of compiling all components every time, the system performs partial compilation only of the specific components that have been modified. This selective approach reduces resource consumption while maintaining compilation result consistency.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If developers wait for central compilation before testing interoperability, then compilation results are available, but development progress is delayed

Engineering Contradiction:
Improveinteroperability testing accuracyVSAvoiddevelopment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Developers perform preliminary local compilation of their modified source files before submitting them to the source control system. This allows them to immediately test interoperability with other components without waiting for the central compilation cycle, accelerating development progress while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If developers transfer changed source files to central computer, then central compilation can proceed, but compilation failures increase with multiple developers

Engineering Contradiction:
Improvecollaborative development capabilityVSAvoidcentral compilation success rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary local compilation of source files before they are transferred to the central compilation service. This preliminary validation ensures that only syntactically correct and locally compilable source files are submitted, significantly reducing central compilation failures in collaborative development environments.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7921417B2Method and computer system for activation of source files
Publication Date: 2011.04.05 SAP SE
  • US7921417B2 patent drawing
  • US7921417B2 patent drawing
  • US7921417B2 patent drawing

AI summary

Method and computer system for activation of source files. A source file repository stores a plurality of active source files belonging to a component. A central compilation service receives an activation request for at least one inactive source file of the component. In response to the activation request the central compilation service compiles the component using the at least one inactive source file and, in case the compilation is successfully completed, initiates a transfer of the at least one inactive source file to the plurality of active source files.