Wrapper Functions for Cross-Environment Component Reuse

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large or complex system design, integrating components created in different design environments and code generators can lead to the generation of new code that requires extensive verification testing, causing delays and increased costs due to incompatibilities and the need for new code generation, while reusing existing verified components is desirable but challenging.

Innovation Solution

A system design environment with a code integration engine that includes an artifact analysis engine, interface analysis engine, and wrapper constructor to analyze and adapt existing code for compatibility, allowing reuse of components and code across different design environments and code generators, and generating wrapper functions for interface mapping.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code is generated for components in different design environments, then system integration capability is improved, but verification testing time and cost increase significantly

Engineering Contradiction:
Improvesystem integration capabilityVSAvoidverification testing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent creates a reusable component package that copies verified code and artifacts from a first design environment to a second design environment. The package includes copied code, interface definitions, and wrapper functions that replicate the component's behavior across different environments, eliminating the need for re-verification while maintaining integration capability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces wrapper functions as intermediaries between the reused component code and the host system. These wrappers adapt the interface of copied code to match the requirements of the second design environment, enabling seamless integration without direct modification of the verified component code.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If existing verified code is reused across different design environments, then development efficiency is improved, but code compatibility issues arise

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidcode compatibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent modifies interface parameters and wrapper function signatures to adapt the reused component to different design environments. By changing the interface parameters of wrapper functions, the system maintains compatibility with various environments while preserving the core verified functionality of the reused code.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Wrapper functions serve as intermediaries that translate between the interface of reused code and the interface requirements of the host system. This intermediary layer handles compatibility issues by converting parameter types, call conventions, and interface protocols without modifying the original verified code.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If components are integrated from multiple design environments, then system functionality is improved, but the need for new verification testing increases costs

Engineering Contradiction:
Improvesystem functionalityVSAvoidverification testing cost
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent copies verified components and their associated artifacts (test cases, documentation, interface definitions) from the first design environment to the second environment. This copying preserves all verification results and eliminates the need for costly re-testing, while still enabling the components to function in the new environment through wrapper functions.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The verification testing is performed preliminarily in the first design environment before reuse. By completing verification in advance and packaging the results with the component, the system avoids duplicate verification costs when integrating into the second environment, effectively performing verification once rather than multiple times.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9952837B1Reusable component in a modeling environment
Publication Date: 2018.04.24 MATHWORKS INC
  • US9952837B1 patent drawing
  • US9952837B1 patent drawing
  • US9952837B1 patent drawing

AI summary

A system and method supports reusing model components or component artifacts in a first modeling environment where the model components or artifacts were created in a second environment. An interface to the model components or artifacts from the first modeling environment is analyzed, and compared to an interface from the second environment. A wrapper object is constructed to convert between differences identified among the two interfaces. Utilizing the wrapper object, the model components or component artifacts are reused in the second environment.