Code Association Visualization for Model-Based Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems lack the ability to identify associations between multiple types of sources and generated programming code, making it difficult to determine which sources contribute to specific features or modifications in the code and how to modify them to achieve desired changes.

Innovation Solution

A method that analyzes the contributions of various sources, including models, code generators, configuration settings, and optimizations, to identify associations between source aspects and features in the generated programming code, allowing for visualization and modification suggestions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If conventional code generation systems are used, then code can be generated from models and configuration values, but the ability to identify associations between sources and generated code features is lost

Engineering Contradiction:
Improveassociation information between sources and code featuresVSAvoidsystem complexity for tracking associations
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by recording behavioral effects and configuration effects during the code generation process itself. This allows association information to be captured and stored before code execution, enabling later analysis of which configuration values and model aspects contributed to specific code features without adding complexity to the actual code generation functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary mechanism that records and tracks the relationships between configuration values, model aspects, and generated code features. This intermediary layer captures the associations during code generation and stores them for later analysis, allowing users to trace back which sources contributed to specific code features without modifying the core code generation process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple sources affect code generation, then code can be generated with multiple features, but the ability to determine which sources contribute to specific features is lost

Engineering Contradiction:
Improvecode generation capability from multiple sourcesVSAvoiddifficulty in identifying source contributions
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system segments the code generation process by separately recording behavioral effects from the model and configuration effects from configuration values. This segmentation allows the system to track which specific source (model or configuration) contributed to which code feature, making it possible to analyze and determine source contributions even when multiple sources are involved in generating the code.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements feedback by analyzing recorded behavioral and configuration effects to provide information about which sources contributed to specific code features. This feedback mechanism allows users to trace back from generated code features to their originating sources, enabling informed decisions about which sources to modify to achieve desired code changes.

Inventive Principle:
Principle #23Feedback

3Ease of manufacture

If code modification is needed, then changes can be made to generated code, but the ability to determine how to modify sources to achieve desired changes is lost

Engineering Contradiction:
Improveease of code modificationVSAvoidease of source modification to achieve desired changes
Core Design Contradiction:
Ease of manufactureVSEase of operation

Solution Approach 1:

The system uses feedback by analyzing the recorded associations between sources and code features to provide guidance on which sources should be modified to achieve desired code changes. This feedback enables users to make informed decisions about source modifications, making the operation easier even though multiple sources are involved in the code generation process.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10915302B2Identification and visualization of associations among code generated from a model and sources that affect code generation
Publication Date: 2021.02.09 MATHWORKS INC
  • US10915302B2 patent drawing
  • US10915302B2 patent drawing
  • US10915302B2 patent drawing

AI summary

A system determines what aspects of input sources contribute to code generation and provides associations between the input sources and components of features of the generated code. These associations may be visualized by displaying visual cues of the associations. The input sources may be of different types, including but not limited to a model, a code generator and values for atomic configuration setting for code generation. The visual cue that is displayed may take the form of a visible connection between the input sources and the relative portion or portions of the generated programming code. Suggestions may be generated in response to edits to the generated programming code as to how the sources may be modified to provide desired changes in the generated programming code. Analysis may be performed to identify artifacts in the generated programming code and associations to the sources may be identified to specify what source contributed to portions of the generated programming code.