Dynamic User-Interface Generation for Software Component Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Integrating new or modified software components into existing systems is difficult, time-consuming, and costly due to the need for code modification, recompilation, and redeployment, as well as project-specific configuration and deployment requirements that are often unknown at the time of initial deployment.

Innovation Solution

A schema-based approach using Subsystem Definition Language (SDL) files to define configuration data for software components, allowing for the generation of user interfaces to collect required configuration information from users, which is then applied to integrate the components into the system, abstracting complexity and providing a standardized mechanism for deployment and management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code modification and recompilation are performed to integrate new software components, then the system can accommodate new functionality, but the integration process becomes difficult, time-consuming, and expensive

Engineering Contradiction:
Improveability to integrate new software componentsVSAvoidintegration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the configuration process into distinct, manageable components represented by SDL files. Each software component has its own configuration file that can be independently modified, parsed, and applied without affecting other components. This segmentation allows new components to be integrated by simply adding or modifying their specific configuration files rather than modifying core system code.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary configuration layer (SDL files and schema) between the software components and the system integration process. This intermediary layer acts as a mediator that translates component requirements into system-compatible configurations automatically, eliminating the need for direct code modification and manual integration steps.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If code modification and recompilation are performed to integrate new software components, then the system can accommodate new functionality, but the integration cost increases

Engineering Contradiction:
Improveability to integrate new software componentsVSAvoidintegration ease
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent implements a self-service configuration mechanism where the system automatically parses SDL files, validates them against schemas, generates appropriate configuration code, and applies settings without requiring manual intervention. This automation eliminates expensive manual coding and testing processes, making component integration economically viable.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent enables integration through parameter changes in configuration files rather than code changes. By modifying parameters in SDL files (such as component identifiers, version numbers, and configuration values), new components can be integrated without altering the underlying system codebase, significantly reducing integration costs.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If project-specific configuration requirements are handled through custom code development, then the configuration can be tailored to specific needs, but the complexity and time required increases

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidconfiguration process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal configuration framework using SDL files and XML schemas that can handle multiple types of software components and configuration scenarios through a single standardized mechanism. This universal approach supports various project-specific requirements without requiring separate custom code development for each case, reducing overall complexity.

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

Solution Approach 2:

The patent replaces the mechanical process of manual code writing and compilation with an automated information processing system. The system automatically parses configuration files, validates them against schemas, generates necessary code artifacts, and applies configurations, substituting manual mechanical processes with automated computational processes that are less error-prone and more efficient.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Loss of information

If configuration information is collected through manual processes, then the required data can be obtained, but the process becomes time-consuming and error-prone

Engineering Contradiction:
Improveconfiguration data accuracyVSAvoiddata collection time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent replaces manual configuration data collection with automated parsing of SDL files using XML parsers and schema validation. The system automatically extracts configuration information from structured configuration files, validates it against predefined schemas, and processes it without human intervention, eliminating manual errors and significantly reducing data collection time.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8832675B1Dynamic user-interface generation and administration method and apparatus
Publication Date: 2014.09.09 AVAYA INC
  • US8832675B1 patent drawing
  • US8832675B1 patent drawing
  • US8832675B1 patent drawing

AI summary

A system and method for configuring software components are provided. A number of elements comprising configuration data are defined. For a software component that is to be configured, a file containing a subset of the elements defining the software component, the properties that must be administered to configure the software component, and the run-time parameters for the software component is created. The file is parsed by a management service. The management service uses the data contained in the file to generate the content of a user interface for collecting configuration data from a user. Collected configuration data is validated and persisted to the data model to complete the integration of the software component into the larger system.