Automated Code Redesign via Context Qualified Types

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods fail to efficiently integrate separately derived code pieces that differ in design details, requiring manual intervention to synchronize and adapt code for compatibility, especially when integrating computation frameworks with disparate requirements.

Innovation Solution

The development of Context Qualified Types (CQ Types) and Anaphoric Reference Protocol for Synchronization (ARPS) enables automated code redesign by specifying programming language types along with contextual qualifications, allowing for parameterized type equations and transformations to synchronize code across different design contexts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual intervention is used to synchronize and adapt code for compatibility, then code integration can be achieved, but time consumption and labor cost increase significantly

Engineering Contradiction:
Improvecode compatibilityVSAvoidmanual synchronization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs automated code redesign and synchronization without human intervention. The type difference transformation machinery automatically analyzes type definitions, generates transformation code, and integrates disparate code components, allowing the system to serve itself rather than requiring manual programmer intervention for code adaptation

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical processes (programmers manually reading, analyzing, and rewriting code) with an automated computational system. The system uses type equations and transformation algorithms to automatically generate the synchronization code that would otherwise require manual programming effort

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

2Adaptability or versatility

If code pieces are integrated with different design details, then code versatility is improved, but integration complexity increases

Engineering Contradiction:
Improvecode reuse capabilityVSAvoidintegration system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system uses parameterized type definitions and type equations to represent code structures. By changing parameters in type definitions and solving type equations, the system automatically adapts code to different design contexts without manual intervention, managing complexity through systematic parameter transformation rather than ad hoc code modification

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces type difference transformations as an intermediary mechanism between disparate code components. These transformations act as mediators that automatically handle the adaptation between different design contexts, shielding users from the underlying complexity while enabling versatile code integration

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If automated code redesign is implemented, then productivity is enhanced, but system complexity increases

Engineering Contradiction:
Improvecode integration speedVSAvoidtransformation machinery complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The automated code redesign system is segmented into distinct functional components: type definition analysis, type equation formulation, transformation generation, and code integration. This segmentation allows each component to be independently developed and maintained, managing overall system complexity while enabling high-productivity automated code transformation

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9038037B1Automatically solving simultaneous type equations for type difference transformations that redesign code
Publication Date: 2015.05.19 BIGGERSTAFF TED J
  • US9038037B1 patent drawing
  • US9038037B1 patent drawing
  • US9038037B1 patent drawing

AI summary

A method and a system for first, expressing relationships between design contexts as a set of simultaneous parameterized type equations and then, automatically solving those type equations to produce type difference transformations that automatically convert code from one design context to a different design context. For example, a set of solution transforms might redesign code from a simple image convolution expression within a specification context to a set of thread based, parallelized expressions of the convolution designed to fit the “holes” within a design framework from a reusable library. The type equations are expressed in terms a generalization of programming data types (called Context Qualified Types or CQ Types) that may have embedded variable parameters. In addition to programming data type information, CQ Types incorporate design features or concepts that fall outside of the programming data type domain (e.g., a planned program scope or a design skeleton).