Open Model Driven Architecture View Templates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing code generators are inflexible in expressing business models and generating software content, often requiring rigid modeling languages like UML, which limits their ability to capture complex business problems and fails to represent expert knowledge effectively.
Innovation Solution
A process for creating view templates using an open model-driven architecture that analyzes application examples, categorizes content artifacts, identifies dynamic content, and generates abstract descriptions to produce flexible and reusable code generation patterns, allowing for the capture of expert solutions in a variety of programming languages and formats.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If a rigid modeling language like UML is used for code generation, then code generation can be accomplished by recognizing structural components, but many business problems cannot be expressed in UML compliant models, eliminating the ability to use generators
Solution Approach 1:
The patent creates a universal modeling language that can express both traditional structured business problems (compatible with existing code generators) and complex domain-specific problems (like healthcare workflows). The modeling language is designed to be multi-functional, serving as both a high-level business process description tool and a detailed implementation specification, thereby resolving the contradiction between code generation capability and business model expressiveness.
Solution Approach 2:
The patent introduces configurable parameters and metadata in the modeling language that allow the same model structure to be used for different types of code generation tasks. By changing parameters such as target programming language, code generation depth, and domain-specific constraints, the system can adapt to various business problems without requiring completely different modeling approaches, thus maintaining both code generation effectiveness and business model versatility.
2Ease of operation
If fixed output generators are used, then code generation is simplified, but the developer has no control over the form or format of the outputs generated
Solution Approach 1:
The patent implements dynamic output generation where the form and format of generated code are not fixed but can be adjusted based on model annotations, profile definitions, and generator configuration. The system dynamically adapts output formats to match project requirements, allowing developers to control whether generated code follows strict templates or allows customization, thereby resolving the contradiction between operational simplicity and output format control.
Solution Approach 2:
The patent introduces an intermediary layer between the model and the code generator in the form of profiles and stereotypes. These intermediaries allow developers to define custom output formats and conventions without modifying the core generation engine. The profiles act as a mediator that translates standard model elements into domain-specific code formats, providing control over output while maintaining the simplicity of the generation process.
3Productivity
If expert knowledge is not captured in patterns, then code generation can be simpler, but generated code cannot represent the best of breed solutions to business problems
Solution Approach 1:
The patent implements preliminary action by pre-defining expert knowledge in the form of profiles, stereotypes, and model patterns that encode best practices for specific domains (e.g., healthcare, finance). These pre-configured elements capture expert solutions in advance, allowing the code generator to automatically apply proven patterns without requiring real-time expert intervention, thus improving both the quality of generated solutions and generation efficiency.
Solution Approach 2:
The patent uses copying by allowing developers to replicate and reuse proven expert solutions across multiple projects through the pattern library. Once a business problem solution is captured in a pattern, it can be copied and adapted to similar problems, ensuring consistent application of best practices while reducing the need to recreate solutions manually. This maintains high solution quality while improving productivity through reuse.
Data Source
AI summary
View templates for use in generating application content are created by analyzing and categorizing existing application examples to derive reusable abstractions of application artifacts. Example application artifacts or source modules are categorized by role and function. Based on the categorized artifacts, a generalized, abstract view for the role and function is defined. View templates are created for each abstract view and contain static content and dynamic content that varies for each instance of the template. The view templates are stored in a template library for use in a model driven application generator.


