Diagram-to-Code Conversion via Visual Recognition and Template Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing process of converting diagrams of computer programs into code is manual, time-consuming, and often requires developers to be unaware of the latest design patterns and best practices, leading to sub-optimal code quality and consistency.

Innovation Solution

A system that uses computer recognition techniques to map visual diagrams into structured code solutions by associating components with pre-populated code templates, providing developers with interactive tools to review, update, and finalize the code, while recommending the latest design patterns and best practices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual code creation from diagrams is used, then developers have full control over code generation, but the process is time-consuming and productivity is low

Engineering Contradiction:
Improvecode generation speedVSAvoidtime for diagram review and code creation
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically generating code templates from diagrams before developers review them. The code templates are pre-populated with structure based on the diagram, so developers don't need to create code from scratch but can focus on reviewing and customizing pre-generated code.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of the diagram structure in the form of code templates. It extracts information from the visual diagram and copies it into a digital code format that developers can review and modify, eliminating the need for manual transcription and acceleration the code generation process.

Inventive Principle:
Principle #26Copying

2Reliability

If developers create code from scratch, then they can implement custom solutions, but they may be unaware of latest design patterns and best practices

Engineering Contradiction:
Improvecode quality and consistencyVSAvoidaccess to latest design patterns
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system incorporates feedback mechanisms by analyzing the diagram and providing code templates that reflect current design patterns and best practices. The system learns from the diagram structure and provides recommended code implementations that incorporate latest industry standards, helping developers stay current without manual research.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system serves multiple functions: it acts as both a code generator and a design pattern repository. By maintaining a library of design patterns and best practices, it provides universal solutions that can be applied across different projects, ensuring code quality while keeping developers informed about current standards.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If diagrams are converted to digital format and reviewed manually, then accuracy can be maintained, but the process requires multiple steps and loses time

Engineering Contradiction:
Improvediagram interpretation accuracyVSAvoidnumber of conversion and review steps
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system merges multiple steps into one automated process. It combines diagram digitization, code template generation, and initial code structuring into a single integrated workflow. This reduces the number of separate steps developers must perform while maintaining accuracy through automated extraction of diagram information.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system replaces manual mechanical processes with automated computational methods. Instead of manually transcribing diagrams to digital format and reviewing them step-by-step, the system uses automated image recognition and code generation algorithms to convert diagrams directly into code templates, reducing both steps and time while maintaining accuracy.

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

Data Source

PatentEP3433732B1Converting visual diagrams into code
Publication Date: 2023.12.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3433732B1 patent drawingFigure 1
  • EP3433732B1 patent drawingFigure 2
  • EP3433732B1 patent drawingFigure 3

AI summary

The techniques and systems described herein provide a tool for use in association with the development of a computer program. For instance, a computer program development team (e.g., design architects, developers, programmers, coders, etc.) can use the tool to efficiently generate code solutions using an illustrated diagram (e.g., drawn on a dry-erase white board, drawn using a digital drawing program, etc.). In various examples, the tool receives a diagram illustrating the design architecture and performs recognition techniques to identify characteristics of the components illustrated in the diagram. The characteristics can include keywords written on or in association with a component, a visual shape of a component, and a visual relationship between the component and other components illustrated in the design architecture. Using the identified characteristics, the tool maps the components to previously generated code template(s) and provides the code templates to a user.