Visual Modeling Environment for Automated Software Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing web-based computer software systems is complex due to the need for expertise in various technologies, making it difficult to create systems that are fast, available, scalable, and secure, especially under unpredictable demand and network conditions.

Innovation Solution

A visual modeling environment and application generator that raise the level of abstraction by using models to represent software systems, allowing developers to create and modify computer design models in a high-level, intuitive manner, facilitating the translation of these models into executable systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers use multiple technologies (object-oriented programming, XML, SQL, WSDL) to build web-based software systems, then the system functionality and reliability are improved, but the development complexity and difficulty increase significantly

Engineering Contradiction:
Improvesystem reliabilityVSAvoiddevelopment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces computer design models as intermediary artifacts between requirements and implementation. These models (UML class diagrams, sequence diagrams, etc.) serve as mediators that capture system behavior and structure at an abstract level, enabling developers to work with multiple technologies through a unified modeling framework rather than directly managing the complexity of each technology separately.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the software development process into distinct modeling phases and model types. Each model (class model, sequence model, state machine model) addresses specific aspects of system design, allowing developers to tackle complexity in manageable segments rather than attempting to handle all technologies and concerns simultaneously in a single monolithic development approach.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If developers manually implement software systems using multiple technologies, then fine-grained control over implementation details is achieved, but the time and effort required for development increase

Engineering Contradiction:
Improveimplementation controlVSAvoiddevelopment time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having developers create computer design models that capture the complete system behavior and structure before actual implementation begins. The models serve as preliminary blueprints that guide subsequent implementation, reducing the time needed for manual coding and debugging while maintaining control over implementation details through the model-driven approach.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables self-service through automated model validation and consistency checking. The system automatically verifies that design models adhere to modeling rules and constraints, reducing the time developers would otherwise spend on manual verification while maintaining implementation control through automated feedback on model correctness.

Inventive Principle:
Principle #25Self-service

3Loss of information

If high-level information is captured in low-level source code files, then implementation details are documented, but tracking, maintaining, and enhancing the information becomes difficult

Engineering Contradiction:
Improveinformation trackingVSAvoidmaintenance complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent moves high-level information from the traditional low-dimensional source code files into a separate modeling dimension. Computer design models exist as independent artifacts that capture system behavior, structure, and requirements at an abstract level, separate from implementation code. This dimensional separation allows information to be tracked, maintained, and enhanced through model manipulation rather than embedded in scattered code comments or documentation.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Ease of manufacture

If developers focus on technological problems (programming, data interchange, storage) rather than problem domain, then technical implementation is achieved, but the gap between business requirements and technical solution increases

Engineering Contradiction:
Improvetechnical implementationVSAvoidbusiness-technology alignment
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by creating different types of models for different aspects of the system. UML class diagrams capture structural information, sequence diagrams capture behavioral information, and state machine diagrams capture dynamic information. Each model type focuses on specific local qualities of the system, allowing developers to address both business requirements and technical implementation concerns through appropriate model selection and combination.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7735062B2Software development system and method
Publication Date: 2010.06.08 OUTSYST SOFTWARE EM REDE
  • US7735062B2 patent drawing
  • US7735062B2 patent drawing
  • US7735062B2 patent drawing

AI summary

A computer design model processing system and methods are described that can create visual models of computer systems, store versions of design models in a centralized repository, automatically generate and deploy computer software systems in response to the stored computer design models, define dependencies between computer design models, and automate and assist the development of multiple, possibly dependent, computer design models by multiple developers.