Value Modifiers for Flexible Constraint Verification in MATLAB

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing environments require users to develop code in programming languages like C++, C, or Fortran, which can be inefficient for tasks in disciplines such as mathematics, science, and engineering, and lack flexible testing mechanisms for code validation against constraints.

Innovation Solution

A technical computing environment (TCE) using a dynamically-typed programming language like MATLAB, which includes a testing component that utilizes value modifiers to customize the presentation of tested values to constraints, allowing for flexible verification of code functionality through modifiers such as AnyElementOf, enabling determination of whether any element of an array satisfies a constraint.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional programming languages (C++, C, Fortran) are used for code development, then code can be executed, but the development efficiency and ease of use are reduced

Engineering Contradiction:
Improveease of code developmentVSAvoiddevelopment efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent changes the fundamental parameters of the programming language by implementing dynamic typing instead of static typing. This allows variables to change their data types during execution, enabling more flexible and intuitive code writing that closely mirrors mathematical notation, thereby improving ease of operation and development efficiency.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces the mechanical/conventional programming approach with a more abstract mathematical notation-based system. The testing framework substitutes traditional rigid constraint checking with a more flexible modifier-based verification system that can adapt to different data structures and validation requirements.

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

2Adaptability or versatility

If conventional testing mechanisms are used, then code can be validated, but the flexibility to test against complex constraints is limited

Engineering Contradiction:
Improvetesting flexibilityVSAvoidconstraint verification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the constraint verification process into distinct components: modifiers that define what aspects of the output to test, constraints that specify the validation rules, and a testing framework that combines them. This segmentation allows flexible combination of modifiers and constraints to handle complex verification scenarios without increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces modifiers as intermediary objects between the code output and the constraints. Modifiers act as mediators that transform and prepare the output for constraint verification, enabling flexible testing of complex data structures like arrays and matrices against various constraints without direct complexity in the constraint system itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If static typing is used, then type safety is ensured, but the runtime performance and flexibility are reduced

Engineering Contradiction:
Improvetype safetyVSAvoidruntime performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic typing that allows variables to change their data types during runtime execution. This dynamic approach maintains type safety through runtime type checking while enabling greater flexibility and optimized performance by allowing the system to adapt to different data types as needed, rather than being constrained by fixed compile-time type declarations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9727446B2Modifiers that customize presentation of tested values to constraints
Publication Date: 2017.08.08 MATHWORKS INC
  • US9727446B2 patent drawing
  • US9727446B2 patent drawing
  • US9727446B2 patent drawing

AI summary

A device receives code generated via a technical computing environment (TCE), the code including a value to be tested, and receives a value modifier, a test case, and a constraint. The value modifier customizes a manner in which the value of the code is presented to the constraint for verification. The device also generates a test based on the value modifier, the test case, and the constraint, performs the test on the value of the code to generate a result, and outputs or stores the result.