Ontology-Based Software Modernization Assessment Engine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software modernization processes are labor-intensive, time-consuming, and error-prone, often relying on personal experience and external factors, making it difficult to make objective and consistent modernization assessments and recommendations for legacy applications.

Innovation Solution

A cloud provider network's modernization assessment service maintains a knowledge base with modernization ontologies and data models to automate software modernization processes, providing objective and consistent recommendations based on tool capabilities, cost information, and best practices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual software modernization processes are used, then flexibility in handling complex legacy applications is maintained, but labor intensity and time consumption increase significantly

Engineering Contradiction:
ImproveFlexibility in handling legacy applicationsVSAvoidModernization speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

An automated assessment engine serves as an intermediary between legacy applications and modernization targets. The engine analyzes application code, dependencies, and architecture to generate modernization recommendations, bridging the gap between manual analysis and automated transformation while maintaining flexibility through configurable assessment criteria and multiple modernization strategy options.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If expert knowledge is used for modernization assessments, then accuracy of recommendations is improved, but consistency across different assessments deteriorates due to personal experience variations

Engineering Contradiction:
ImproveAssessment accuracyVSAvoidAssessment consistency
Core Design Contradiction:
Measurement precisionVSStability of the object's composition

Solution Approach 1:

The system transforms subjective expert knowledge into objective, measurable parameters. Assessment criteria are defined as configurable parameters with specific weights and thresholds, allowing the same assessment logic to be applied consistently across different applications while maintaining the depth and accuracy of expert evaluation through adjustable parameter settings.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If comprehensive application analysis is performed, then modernization recommendation quality is improved, but assessment time and computational resources increase

Engineering Contradiction:
ImproveRecommendation qualityVSAvoidAssessment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The assessment process is segmented into multiple independent analysis modules, each focusing on specific aspects such as code quality, dependency analysis, architecture evaluation, and security assessment. This allows comprehensive analysis to be performed in parallel, improving recommendation quality while reducing total assessment time through concurrent processing of different application dimensions.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11467828B1Ontology-based software modernization assessment engines
Publication Date: 2022.10.11 AMAZON TECH INC
  • US11467828B1 patent drawing
  • US11467828B1 patent drawing
  • US11467828B1 patent drawing

AI summary

Techniques are described for enabling a software modernization assessment service of a cloud provider network to maintain a modernization knowledge base and to use the knowledge base to generate modernization recommendations for users' software applications. A modernization knowledge base comprises one or more modernization ontologies, where a modernization ontology defines concepts and relationships used to describe modernization tool capabilities and limitations, modernization strategies, etc. The modernization assessment service uses the modernization knowledge base to automate various software modernization processes including, for example, providing modernization recommendations for software applications (e.g., applications identified by users as candidates for modernization) and generating modernization assessment reports. A modernization knowledge base, including an ontology understood by a modernization assessment engine, can be readily updated to account for new modernization strategy information, modernization tool information, and modernization process and tool constraints, without necessitating changes to static definitions of such information defined by a modernization assessment service.