Source Code Converter Using Design Pattern Flags

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing software applications for multiple platforms that support different programming languages is time-consuming and error-prone, requiring multiple versions to be created, with fixes and updates needing to be applied across various versions.

Innovation Solution

A system that uses a converter to translate source code into multiple programming languages, utilizing flags to control the conversion process, generate abstract syntax trees, and apply design patterns, allowing for efficient generation of application versions compatible with various platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple versions of an application are developed for different platforms and programming languages, then the application can be distributed to a variety of devices, but the development process becomes time-consuming and error-prone

Engineering Contradiction:
Improveplatform compatibilityVSAvoiddevelopment speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the development process by separating the core application logic from platform-specific implementations. The converter divides source code into convertible portions and non-convertible portions, allowing the core functionality to be developed once while platform-specific adaptations are generated automatically through conversion flags and design patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses automated copying and transformation of source code to generate multiple platform versions. The converter creates copies of the source code and transforms them into target programming languages using design patterns, eliminating the need to manually rewrite the entire application for each platform.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If multiple versions of an application are developed for different platforms, then the application can support various programming languages, but errors may be introduced and fixes need to be applied to multiple versions

Engineering Contradiction:
Improveprogramming language supportVSAvoidconsistency across versions
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a converter as an intermediary between the source code and target platform versions. This intermediary systematically transforms code while preserving logic consistency, and includes mechanisms to propagate fixes from one version to others, ensuring reliability across all platform adaptations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms where the converter analyzes the source code, applies appropriate design patterns, and generates target code while maintaining consistency. The system provides feedback loops that allow errors to be detected and corrected in a centralized manner, with automatic propagation to all generated versions.

Inventive Principle:
Principle #23Feedback

3Reliability

If fixes and features are applied to multiple versions of an application, then all versions remain updated, but the process becomes cumbersome

Engineering Contradiction:
Improveversion consistencyVSAvoidmaintenance complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal conversion system that handles multiple programming languages and platforms through a single converter infrastructure. The converter uses configurable flags and design patterns to adapt the same source code to different targets, reducing maintenance complexity by providing a unified approach to updating all versions.

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

Data Source

PatentUS10140105B2Converting source code
Publication Date: 2018.11.27 WOWZA MEDIA SYSTEMS LLC
  • US10140105B2 patent drawing
  • US10140105B2 patent drawing
  • US10140105B2 patent drawing

AI summary

A method includes receiving source code in a first programming language. The method further includes identifying a design pattern based on a flag included in the source code. The method further includes generating a first translation of the source code in a second programming language, where at least a portion of the second file conforms to the design pattern. The method further includes generating a second translation of the source code in a third programming language. The method further includes outputting first data based on the first translation to a first device and second data based on the second translation to a second device.