Source Code Reuse Apparatus for Scalable Demo Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for creating demo versions of software applications are nonviable and unscalable, as they fail to maintain source application features and functionality over time, especially in contexts like sales demos and prototyping, due to the inability to efficiently reuse and update application source code.

Innovation Solution

The Application Source Code Reuse Apparatuses, Methods, and Systems (ACR) employ a cpp-like preprocessing approach combined with an annotation language and source code transformation tool, enabling scalable updates and separate management of demo-specific code, using a transformation language (mod) to generate demo content packages for targeted usage contexts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional demo version creation techniques are used, then demo versions can be created initially, but they fail to maintain source application features and functionality over time

Engineering Contradiction:
Improvemaintainability of demo featuresVSAvoidtime to update demo versions
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the source code into modular components using preprocessor directives and annotation-based transformation rules. This allows selective compilation and transformation of specific code segments for demo versions, enabling independent updates without regenerating entire applications. The modular structure maintains feature parity with the source application while allowing efficient incremental updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action through preprocessor-based code transformation that occurs before compilation. Transformation rules are defined in advance using annotation languages, allowing the system to automatically adapt source code to demo requirements during the build process. This preliminary transformation ensures demo versions consistently reflect source application updates without manual intervention.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If manual recreation of demo versions is performed, then demo functionality can be achieved, but the process becomes nonviable and unscalable

Engineering Contradiction:
Improvedemo creation efficiencyVSAvoidcomplexity of demo management system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service through automated build systems that use preprocessor directives and transformation rules to generate demo versions automatically from source code. The system serves itself by detecting changes in source applications and automatically updating corresponding demo versions through configured transformation rules, eliminating manual recreation efforts while maintaining simplicity through rule-based automation.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If source code reuse is implemented without transformation tools, then development effort is reduced, but the ability to adapt code for specific usage contexts is limited

Engineering Contradiction:
Improveadaptability to usage contextsVSAvoidcomplexity of transformation process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary transformation layer between source code and compiled demo binaries. This intermediary uses annotation-based rules and preprocessor directives to automatically adapt source code for specific usage contexts such as sales demos or prototyping. The transformation intermediary manages complexity by providing a structured rule-based system rather than requiring complex manual adaptation processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10922060B1Application source code reuse apparatuses, methods and systems
Publication Date: 2021.02.16 FMR CORP
  • US10922060B1 patent drawing
  • US10922060B1 patent drawing
  • US10922060B1 patent drawing

AI summary

The Application Source Code Reuse Apparatuses, Methods and Systems (“ACR”) transforms compilation request inputs via ACR components into compilation response outputs. A compilation request datastructure that specifies an application identifier is obtained. A first source code branch associated with the application identifier is pulled from a source code repository. A second source code branch associated with the application identifier is rebased using the first source code branch. A first transformation file in the second source code branch is selected. The first transformation file is written in a first programming language and includes a first set of annotations that specify how to modify the first transformation file into a compilable file in the first programming language. The first transformation file is transformed, in accordance with the first set of annotations, into a compilable file in the first programming language. A content package is generated using the transformed first transformation file.