Dynamic Class Instance Updates via Runtime Redefinition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer programming, modifying a class definition while instances of that class are in use can lead to issues such as bugs, rework, and inefficiencies, as existing instances must often be deleted and recreated to adapt to the changes, disrupting the programming process.

Innovation Solution

Implementing a system that allows class definition changes to be propagated to class instances on-the-fly, enabling immediate updates as instances are accessed, without requiring deletion or recreation, ensuring consistency across instances and maintaining a single definition.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If class instances are deleted and recreated to adapt to class definition changes, then consistency across instances is maintained, but programming efficiency decreases and rework increases

Engineering Contradiction:
Improveconsistency across instancesVSAvoidprogramming efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic updating of class instances by replacing the class definition pointer at runtime when a class is redefined. This allows the system to adapt to changing class definitions without requiring deletion and recreation of instances, thereby maintaining consistency while preserving programming efficiency. The dynamic nature of the update mechanism enables seamless integration of class changes into existing instance pools.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If class instances are deleted and recreated to adapt to class definition changes, then the latest class definition is applied, but time is lost and the programming process is disrupted

Engineering Contradiction:
Improveadaptation to class definition changesVSAvoidprogramming time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary preparation by maintaining a mapping structure that tracks class definitions and their instances before changes occur. When a class is redefined, the system has already prepared the update mechanism, allowing instantaneous propagation of changes to all instances without disruption to the programming process. This preliminary setup eliminates the time loss associated with manual deletion and recreation of instances.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If manual deletion or recreation of instances is required, then class definition consistency is ensured, but ease of operation decreases

Engineering Contradiction:
Improveclass definition consistencyVSAvoidease of updating instances
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements a self-service mechanism where the system automatically updates class instances when a class definition changes. The update propagation is performed autonomously through the mapping structure, eliminating the need for manual deletion or recreation of instances by the programmer. This self-updating capability ensures class definition consistency while significantly improving ease of operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9703532B1Dynamically updating class instances based on class definition changes
Publication Date: 2017.07.11 MATHWORKS INC
  • US9703532B1 patent drawing
  • US9703532B1 patent drawing
  • US9703532B1 patent drawing

AI summary

A device may detect a modification of a class, included in program code, from a first class definition to a second class definition that is different from the first class definition. The device may create a relationship indicator that references the second class definition and that indicates that the class has been modified. The device may store an association between the class and the relationship indicator. The device may access an instance of the class associated with the first class definition. The device may detect the association between the class and the relationship indicator based on accessing the instance of the class. The device may update the instance of the class, using the second class definition, based on detecting the association between the class and the relationship indicator.