Model-Based Software Development Paradigm for Integrated Change Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The development of software solutions is complex and inefficient due to the lack of coordinated common resources and poor documentation, leading to difficulties in adapting pre-existing resources, integrating multiple solutions, and managing changes across systems.

Innovation Solution

A model-based software development paradigm that defines templates with attributes, code generators, and dependencies, along with an architecture model comprising elements with relationships, to create a structured framework for software components and simplify change management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software developers author multiple solutions independently without coordinated common resources, then each solution can be developed autonomously, but the complexity of integrating multiple solutions increases and duplication of effort occurs

Engineering Contradiction:
Improvesoftware development efficiencyVSAvoidsystem integration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal model repository that stores common resources, templates, and artifacts that can be reused across multiple software solutions. This repository serves all development projects, eliminating the need to recreate common functionality and reducing integration complexity through standardized interfaces and models.

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

Solution Approach 2:

The patent establishes solution blueprints and template models before actual software development begins. These pre-defined models contain standardized structures, common resources, and dependency relationships that guide subsequent development, preventing duplication and simplifying integration from the outset.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If common resources are tailored for use with a particular software solution, then the solution can be optimized for that specific purpose, but the resources do not integrate well with other software solutions

Engineering Contradiction:
Improvesolution-specific optimizationVSAvoidresource integration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates universal templates and model artifacts that can be instantiated for specific solutions while maintaining compatibility across different software systems. These templates define standardized interfaces and structures that allow solution-specific customization without sacrificing interoperability.

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

Solution Approach 2:

The patent segments software resources into hierarchical levels: universal templates at the top level, solution-specific instantiations at lower levels. This segmentation allows common resources to be defined once at the universal level while permitting solution-specific adaptations without creating integration conflicts.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If dependencies among software components are poorly documented, then development can proceed with flexibility, but change management becomes difficult when modifications are needed

Engineering Contradiction:
Improvedevelopment flexibilityVSAvoidchange management time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements automated dependency tracking within the model repository that monitors relationships between templates, artifacts, and software components. When changes are made to common resources or templates, the system automatically propagates these changes to dependent solutions and components, eliminating manual change management while preserving development flexibility.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent establishes complete dependency documentation through model templates and solution blueprints before development begins. These models pre-defining relationships between components allow the system to automatically manage changes later, combining the flexibility of undeveloped dependencies with the control of documented relationships.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If a model-based software development paradigm with pre-defined frameworks is implemented, then software components can be created using standardized templates, but the initial setup and framework definition become more complex

Engineering Contradiction:
Improvesoftware component creation efficiencyVSAvoidframework definition complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements solution blueprints and template models that are defined once and reused across multiple software projects. This preliminary definition phase, while requiring initial effort, creates reusable artifacts that dramatically accelerate subsequent component creation and reduce framework definition complexity for future projects.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates universal templates and model artifacts that serve multiple purposes across different software solutions. These universal models encapsulate common patterns and structures that can be instantiated for various solutions, reducing the need to create separate frameworks for each project and amortizing the initial setup complexity across multiple uses.

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

Data Source

PatentUS8392873B2Methods and apparatus for implementing model-based software solution development and integrated change management
Publication Date: 2013.03.05 NYTELL SOFTWARE LLC
  • US8392873B2 patent drawing
  • US8392873B2 patent drawing
  • US8392873B2 patent drawing

AI summary

The present invention concerns methods and apparatus for implementing a model-based paradigm for use in developing systems of software solutions. In a method of the present invention, a developer defines templates for use in creating software architecture elements which comprise a software solution or a system of software solutions. The template definitions comprise specifications of template attributes. The developer specifies relationships and dependencies among the templates using a computer programmed to receive the template definitions.