Visual Application Model Generator for Rapid Code Synthesis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing software applications is a complex and time-consuming process due to differing programming styles, development procedures, and lack of technology asset standardization, leading to skill set challenges, technology challenges, and inconsistencies in code generation, which hinders rapid deployment and integration across multiple technologies.

Innovation Solution

A computer-implemented method and system for generating software applications through visual modeling, where an application model is created by dragging and dropping components into defined perspectives, generating descriptors, identifying technology templates, and automatically transforming the model into code for various technologies, enabling rapid development without manual coding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If software applications are developed manually with manual coding, then developers can create customized applications, but the development process becomes complex and time-consuming

Engineering Contradiction:
ImproveEase of software developmentVSAvoidDevelopment time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-defining technology templates, descriptors, and code structures before actual application development. The system prepares reusable code patterns, technology configurations, and architectural frameworks in advance, allowing developers to rapidly assemble applications without creating everything from scratch. This pre-prepared infrastructure significantly reduces development time while maintaining ease of customization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs copying by generating application code automatically from visual models and templates rather than manual coding. The system creates reusable code patterns and technology artifacts that can be copied and adapted across multiple projects. This automated code generation from standardized templates reduces both development time and complexity while maintaining consistency across applications.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If developers use multiple technologies with differing programming styles, then applications can be built for various platforms, but skill set challenges and technology standardization challenges arise

Engineering Contradiction:
ImproveMulti-platform capabilityVSAvoidTechnology complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements universality by creating a platform-agnostic visual modeling system that can generate code for multiple technologies and platforms. The core application model and descriptor framework are technology-neutral, allowing the same visual model to be transformed into different target platforms through configurable technology templates. This universal approach enables multi-platform development without requiring developers to master multiple programming paradigms simultaneously.

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

Solution Approach 2:

The patent introduces an intermediary layer consisting of descriptors and visual models that sit between the developer's intent and the specific technology implementation. This intermediary abstraction layer translates high-level application requirements into technology-specific code through configured templates, eliminating the need for developers to directly engage with multiple differing programming styles and reducing technology complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If code is generated manually by different developers, then customization is possible, but implementation inconsistencies occur

Engineering Contradiction:
ImproveCode generation easeVSAvoidCode consistency
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The patent applies self-service by enabling the system to automatically generate consistent code from visual models without manual intervention. The automated code generation process ensures that the same visual model always produces consistent, standardized code across different developers and projects. This self-service approach eliminates human variability while maintaining ease of operation through the visual modeling interface.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent uses parameter changes by allowing configuration of technology templates and descriptors to control code generation output. By adjusting template parameters and descriptor configurations, the system can generate consistent code that adapts to different technologies while maintaining implementation standards. This parameter-driven approach ensures manufacturing precision through controlled, repeatable code generation processes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9038017B2Method and system for facilitating rapid development of end-to-end software applications
Publication Date: 2015.05.19 COGNIZANT TECH SOLUTIONS INDIA PVT LTD
  • US9038017B2 patent drawing
  • US9038017B2 patent drawing
  • US9038017B2 patent drawing

AI summary

A method and system for rapidly generating software applications is provided. An application model of a software application is generated which comprises modeled components and technology stack information. The modeled components correspond to functional and design aspects of the software application. The application model is generated by dragging and dropping multiple components into corresponding modeling perspectives defined in a visual modeling environment. Descriptors are generated for the application model which are logical representations describing each of the modeled components. Further, the descriptors are generated from application model object of the application model. Furthermore, technology templates are identified based on the technology stack information in the application model. The technology templates are predetermined templates comprising scripting languages for automatically transforming the application model into one or more technologies. Code related to the software application is generated based on the descriptors and the identified technology templates.