Control Building System for Automated Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current application development environments require significant programming expertise to create new controls, making it difficult for non-technical users like web designers to customize and modify software applications, and expose intellectual property when code logic is not obfuscated.

Innovation Solution

A system and method for automatically generating native language code for controls using ADE-based components and higher-level scripting languages, allowing developers with minimal programming experience to create and customize controls by programmatically selecting components and script code, generating native code at runtime, and extending control behavior through OOP inheritance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If traditional programming methods using machine-level language or high-level languages are used, then applications can be created with basic functionality, but the amount of code required becomes enormous and requires significant programming expertise

Engineering Contradiction:
ImproveEase of creating controlsVSAvoidComplexity of programming expertise required
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The system segments control creation into two distinct layers: a high-level scripting language layer for logic definition and a native code generation layer for execution. This segmentation allows users to work with simple scripts while the system handles the complex native code generation automatically, resolving the contradiction between ease of creation and programming complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary code generation system that translates high-level scripting language definitions into optimized native code. This intermediary layer acts as a mediator between the user-friendly scripting interface and the underlying complex programming requirements, enabling ease of control creation without requiring users to master complex programming languages.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If code logic is exposed for customization, then non-technical users can modify controls, but intellectual property is exposed when code logic is not obfuscated

Engineering Contradiction:
ImproveAbility to customize controlsVSAvoidExposure of intellectual property
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The system creates a copy of the control logic in the form of configurable parameters and event handlers that expose functionality without exposing implementation details. Users interact with and customize the control through this parameter interface, which replicates the control's behavior without revealing the underlying proprietary code logic, thus protecting intellectual property while maintaining adaptability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent applies different levels of exposure selectively: the control's interface and configuration parameters are exposed for customization, while the internal implementation logic remains protected. This local differentiation allows users to customize behavior through parameters without accessing or exposing the core intellectual property embedded in the native code implementation.

Inventive Principle:
Principle #3Local quality

3Reliability

If controls are created using lower-level languages, then functionality can be precisely controlled, but significant programming expertise is required making it difficult for non-technical users

Engineering Contradiction:
ImprovePrecision of control functionalityVSAvoidEase of creating and customizing controls
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system replaces the mechanical process of manually writing and managing complex native code with an automated code generation mechanism. The high-level scripting language serves as a simplified interface that automatically compiles into reliable native code, substituting the need for users to directly manipulate complex programming mechanics while maintaining the precision and reliability of low-level control functionality.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Ease of operation

If native code is generated automatically at runtime, then programming expertise is minimized, but code generation time is required

Engineering Contradiction:
ImproveMinimal programming experience requiredVSAvoidCode generation time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-compiling and optimizing the code generation templates and structures during system initialization or control design phase. When controls are instantiated at runtime, the actual code generation leverages these pre-prepared templates, significantly reducing the time required for code generation while maintaining the benefit of automated generation for users with minimal programming experience.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8191037B1Customized control building
Publication Date: 2012.05.29 INTERVOICE LIMITED PARTNERSHIP
  • US8191037B1 patent drawing
  • US8191037B1 patent drawing
  • US8191037B1 patent drawing

AI summary

A system and method is disclosed for creating a reusable control from various applications or portions of applications. Using a pre-existing application or one specifically developed for the control, a developer programmatically declares which functionalities of the original application are to be included in the new control. This control building logic becomes a part of the application code. On execution of the application with the added control building logic, the native code that will re-create the control functionality is automatically generated. The control developer may now extend the generated code using simple Object Oriented Programming (OOP) inheritance to add properties and parameters that will control its behavior. The resulting control may then be referenced by other developers when creating a new software application.