Compiler for Dynamic SVG to Executable Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for integrating scalable vector graphics (SVGs) into standalone programs are inefficient, requiring programmers to re-implement dynamic elements, which is labor-intensive, especially for complex graphical user interfaces (GUIs), and existing conversions to high-level programming languages are not direct or perform well with large data sets.

Innovation Solution

A compiler that translates dynamic SVG elements into source code of a high-level programming language by recognizing attributes marked by designers within the SVGs, allowing programmers to focus on integrating generated code rather than re-creating dynamic properties, thereby streamlining the software development process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If programmers manually re-implement dynamic SVG elements in standalone programs, then the GUI can be implemented with custom dynamic graphics, but the development effort and time increase disproportionately

Engineering Contradiction:
ImproveGUI implementation capabilityVSAvoidDevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies the copying principle by automatically generating program code that replicates the dynamic behavior and visual properties of SVG elements. Instead of programmers manually re-implementing each dynamic graphic element, a code generator automatically copies the essential characteristics (animation patterns, transformation sequences, interactive responses) from the SVG source files and translates them into executable code for the target programming environment, thereby maintaining GUI adaptability while dramatically reducing development time

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements preliminary action by pre-defining dynamic element characteristics and animation behaviors within the SVG files themselves. The SVG format inherently contains all necessary information about dynamic properties (transitions, animations, interactivity) in its XML structure. The code generator performs preliminary processing of this information before actual program execution, extracting and translating these pre-defined characteristics into ready-to-use code segments that can be directly integrated into the standalone application

Inventive Principle:
Principle #10Preliminary action

2Extent of automation

If existing conversion methods are used to translate SVGs to high-level programming languages, then some code generation is achieved, but performance is extremely poor and further conversion steps are necessary

Engineering Contradiction:
ImproveCode generation automationVSAvoidCode generation efficiency
Core Design Contradiction:
Extent of automationVSProductivity

Solution Approach 1:

The patent applies mechanics substitution by replacing inefficient, multi-step conversion processes with a direct, optimized code generation system. Instead of using existing conversion methods that produce low-quality code requiring additional processing, the invention implements a specialized compiler or code generator that directly translates SVG XML structures into efficient, executable high-level programming language code in a single pass, eliminating the need for further manual conversion or optimization steps

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

Solution Approach 2:

The patent implements parameter changes by optimizing the code generation process itself. The code generator analyzes the SVG source and dynamically adjusts generation parameters (such as code structure, variable naming conventions, animation timing parameters, and rendering optimization strategies) to produce high-quality output code directly. This allows the system to maintain high automation while achieving productive output by changing how the conversion parameters are handled throughout the generation process

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If programmers reprogram image content of each SVG based on XML extraction, then custom GUI functionality is achieved, but individual programmer effort becomes disproportionately high

Engineering Contradiction:
ImproveGUI customizationVSAvoidProgramming effort
Core Design Contradiction:
Ease of operationVSEase of manufacture

Solution Approach 1:

The patent applies copying by automatically replicating the visual and behavioral properties of SVG elements through generated code. The code generator extracts image content, animation definitions, and interactive behaviors from the SVG XML structure and automatically copies these characteristics into the target programming language, maintaining full GUI customization capability while eliminating the need for programmers to manually reprogram each element

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements self-service by enabling the SVG files themselves to provide all necessary information for their own implementation. The XML structure of SVGs inherently contains all data needed for rendering and animation (geometric definitions, color specifications, transition timings, event handlers). The code generator acts as an automated intermediary that allows the SVG files to essentially translate themselves into executable code, freeing programmers from the labor-intensive task of manually extracting and reprogramming each element's image content

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3032408B1Method for generating runabe applications comprising dynamic scalable vector graphics
Publication Date: 2020.02.26 HEIDELBERGER DRUCKMASCHINEN AG
  • EP3032408B1 patent drawingFigure 1
  • EP3032408B1 patent drawingFigure 2
  • EP3032408B1 patent drawingFigure 3

AI summary

Method for generating executable applications with dynamic, scalable vector graphics by a compiler operated by a computer, characterized in that dynamic elements of the scalable vector graphics are marked with an attribute and that the compiler uses this attribute to translate the dynamic elements of the scalable vector graphics into program code during the compilation process, which is part of the program code of the executable applications.