Graphical UML Modeling Environment for Automated Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Unified Modeling Language (UML) models lack a formal semantic definition, making it difficult to automatically build executable models, and require skilled programmers to add textual code, which is tedious and error-prone, especially for real-time computation-intensive systems like medical or aerospace applications.

Innovation Solution

A graphical programming or modeling environment that supports declarative and dynamically typed action languages, enabling users to design and execute programs or models graphically, with features like block diagram modeling, hierarchical language elements, and automatic code generation, allowing for real-time computations on multiple processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Shape

If UML models are designed to capture system structure, then the model structure is improved, but the ability to automatically build executable models deteriorates due to lack of formal semantic definition

Engineering Contradiction:
Improvemodel structureVSAvoidautomatic executable model building
Core Design Contradiction:
ShapeVSExtent of automation

Solution Approach 1:

The patent introduces an intermediary mapping mechanism that translates UML structural models into executable behavioral models through defined correspondence rules. This intermediary layer bridges the gap between structural representation and executable semantics, enabling automatic code generation without requiring manual programming intervention.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the static structural parameters of UML models into dynamic behavioral parameters through automated mapping. By changing the semantic interpretation of model elements from purely structural to executable behavioral specifications, the system enables automatic generation of runtime code while preserving the original structural intent.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If textual code is added to UML model to implement operations, then the model functionality is improved, but the development complexity increases and errors occur

Engineering Contradiction:
Improvemodel functionalityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent enables UML models to self-generate executable code through automated mapping mechanisms. Instead of requiring external programmers to manually add textual code, the modeling system itself performs the code generation task by translating model elements into corresponding executable statements, thereby reducing development complexity and eliminating manual coding errors.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs preliminary semantic mapping and code generation during the modeling phase itself. By preparing and validating the executable semantics upfront through automated mapping rules, the system eliminates the need for subsequent manual coding steps, reducing both development complexity and the potential for errors.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If imperative programming languages are used to specify computation sequences, then the computation detail precision is improved, but the development time and expense increase

Engineering Contradiction:
Improvecomputation detail precisionVSAvoiddevelopment time
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent replaces the manual mechanical process of writing imperative code with an automated systematic mapping process. The system automatically translates UML model elements into computation sequences using predefined mapping rules, preserving the precision of computational details while eliminating the time-consuming manual coding process.

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

Solution Approach 2:

The patent creates automated copies of computational logic from UML model structures through systematic mapping. Instead of manually crafting each computation sequence, the system generates corresponding executable code by copying and transforming model element semantics, thereby maintaining computational precision while significantly reducing development time.

Inventive Principle:
Principle #26Copying

4Manufacturing precision

If programmers skilled in textual languages are required to add code for UML models, then the model implementation accuracy is improved, but the ease of operation deteriorates

Engineering Contradiction:
Improvemodel implementation accuracyVSAvoidease of modeling
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent introduces an intermediary automated mapping system that mediates between UML model structures and executable implementations. This intermediary performs the complex translation task that previously required skilled programmers, thereby maintaining implementation accuracy while making the modeling process accessible to users without extensive programming knowledge.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent inverts the traditional workflow by having the model generate code automatically rather than programmers writing code for the model. This inversion eliminates the need for programmers to manually implement model operations, thereby maintaining implementation accuracy through systematic mapping while dramatically improving ease of operation for model designers.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS9311057B2Action languages for unified modeling language model
Publication Date: 2016.04.12 MATHWORKS INC
  • US9311057B2 patent drawing
  • US9311057B2 patent drawing
  • US9311057B2 patent drawing

AI summary

Methods, mediums and systems are provided to enable a user to program the behaviors of a Unified Modeling Language (UML) model in a graphical programming or modeling environment, such as block diagram programming environment. The UML model is exported into a text-based format, which is subsequently imported into the graphical programming or modeling environment. The graphical programming or modeling environment represents the UML model using functional blocks so that the user can program the behaviors of the UML model. The graphical programming or modeling environment also enables the user to simulate or execute the UML model to determine the behaviors of the UML model.