Dynamic Model-Based Software Code Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In model-driven software development, existing approaches require frequent updates, rebuilding, and redeployment of source code with each change, leading to high developer involvement and system downtime, while direct interpretation of models compromises performance.
Innovation Solution
The system generates compiled application code from modeled workflow processes, allowing dynamic testing in an interpretive environment before deployment, enabling changes to be incorporated and tested before production, using a modeling environment, test environment, and code generation environment with templates and metamodels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If code generation and compilation steps are used, then performance is improved, but developer involvement and system downtime increase
Solution Approach 1:
The patent applies preliminary action by performing code generation and compilation in advance during development environments, so that when changes are made to models, pre-generated code can be quickly swapped or updated without requiring full recompilation. This allows the system to maintain high performance while reducing the time penalty associated with code regeneration, as the heavy compilation work has already been done beforehand.
2Adaptability or versatility
If direct interpretation of models is used, then flexibility is improved, but performance deteriorates
Solution Approach 1:
The patent introduces an intermediary layer of generated code that acts as a bridge between the flexible model definitions and the performance requirements of compiled execution. Models can be freely modified and interpreted during development for flexibility, then transformed into optimized compiled code through code generation, achieving both adaptability and high performance in different phases of the software lifecycle.
3Adaptability or versatility
If frequent updates and rebuilding are performed, then adaptability is improved, but productivity deteriorates
Solution Approach 1:
The patent segments the software development process into distinct phases: model definition, code generation, compilation, and deployment. By separating these stages and allowing independent manipulation of models and generated code, the system enables frequent adaptive changes to models without requiring complete rebuilding of the entire system, thus maintaining adaptability while preserving productivity through selective regeneration of only affected code portions.
Data Source
AI summary
A system and method of dynamically generating software is provided. Applications are created in a set of workflow models which are tested in an interpretive test environment. The models are stored in a versioning repository and code generation templates created for the models. Source code is generated and compiled for the application. Modifications to the models are tested and incorporated into a modified version of the application after subsequent testing of the model and the modified, compiled application. The modified version of the application is returned to the test environment where it becomes the basis for testing future modifications.


