Extensible Meta-Data Class Definition in Array-Based Languages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing programming languages, such as JAVA and CLR, lack a mechanism to extend meta-data classes and specify custom data storage systems, leading to limitations in data management and class definition flexibility, particularly in dynamically typed array-based languages.

Innovation Solution

A method and system for defining classes in a dynamically typed array-based programming language using meta-data, allowing for extension of class definitions without backward incompatibility, through the use of meta-data to describe attributes, methods, and events, and enabling flexible data storage and access mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing programming languages use fixed meta-data classes to describe classes, then language processing is simplified, but flexibility in data management and class definition is reduced

Engineering Contradiction:
Improveflexibility in class definitionVSAvoidmeta-data system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the fixed meta-data class into multiple extensible components. Instead of a monolithic meta-data structure, the system divides meta-data into base properties and optional extensions, allowing selective customization without redesigning the entire meta-data system. This enables flexible class definitions while maintaining a manageable core structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent combines fixed meta-data classes with user-defined extensions into a unified meta-data system. The base meta-data class provides standard functionality, while extension classes allow customization. These merged components work together seamlessly, providing both the simplicity of fixed structures and the flexibility of extensible design.

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If all classes use the same system for storing data, then memory management is simplified, but the ability to use different data storage mechanisms is lost

Engineering Contradiction:
Improvedata storage flexibilityVSAvoiddata access simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces meta-data as an intermediary layer between the uniform memory management system and diverse data storage requirements. The meta-data structure acts as a mediator that translates standard memory operations into application-specific data access patterns, allowing different storage mechanisms while maintaining operational simplicity through a unified interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent makes the data storage system dynamic by allowing the meta-data to specify different storage mechanisms based on the class requirements. Instead of a static one-size-fits-all approach, the system dynamically selects appropriate storage methods through meta-data configuration, enabling both flexibility and ease of operation.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If meta-data classes cannot be extended, then language processing is simpler, but customization capability is limited

Engineering Contradiction:
Improvemeta-data extensibilityVSAvoidlanguage processor complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent prepares the meta-data system for extension in advance by designing the base meta-data class with extensibility built-in. The preliminary design includes mechanisms for inheritance and customization, so that when extension is needed, the infrastructure is already in place. This reduces the complexity burden during actual customization while maintaining high extensibility.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9395963B1System and method for accessing meta-data in a dynamically typed array-based language
Publication Date: 2016.07.19 MATHWORKS INC
  • US9395963B1 patent drawing
  • US9395963B1 patent drawing
  • US9395963B1 patent drawing

AI summary

A class definition syntax that leverages the array and math-oriented nature of a dynamically typed array-based programming language is discussed. Some embodiments of the present invention provides a mechanism for using meta-data to define a class implemented in the dynamically typed array-based programming language. The meta-data provide an easy way to provide class definitions and allow a user to access the class definitions from objects. The meta-data also support extension of class definitions without introducing backward incompatibility.