Automated Ambiguity Detection in Software Design Diagrams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software design diagrams often contain ambiguities and flaws that complicate automated analysis, such as missing edges between components, insufficient configuration information, and unannotated decorative elements, leading to increased complexity and reduced quality of automated threat analysis, policy compliance analysis, and performance analysis.

Innovation Solution

A system that evaluates design diagrams using a rules engine to identify and remediate ambiguities by converting diagram elements into a graph representation, traversing the graph to match rules, and applying spatial information to detect and correct flaws, such as inserting formal edges between overlapping components, and removing unconnected edges.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If automated analysis is performed on design diagrams containing ambiguities, then analysis speed is maintained, but analysis accuracy deteriorates

Engineering Contradiction:
Improveanalysis accuracyVSAvoiddiagram ambiguity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary detection and remediation of ambiguities in design diagrams before automated analysis is executed. A rules engine evaluates the diagram to identify issues such as missing edges, insufficient configuration information, and unannotated decorative elements, then automatically remediates these issues before the analysis process begins, ensuring high accuracy without requiring manual intervention.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If manual remediation of diagram ambiguities is performed, then diagram quality improves, but time consumption increases

Engineering Contradiction:
Improvediagram qualityVSAvoidremediation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system implements self-service automated remediation where the rules engine automatically detects and corrects ambiguities in design diagrams without requiring manual intervention. The system independently identifies issues such as missing edges between components, insufficient configuration information, and unannotated decorative elements, then automatically remediates these issues, eliminating time-consuming manual remediation while maintaining high diagram quality.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If design diagrams contain ambiguities, then diagram creation flexibility is maintained, but automated analysis quality deteriorates

Engineering Contradiction:
Improvediagram creation flexibilityVSAvoidanalysis quality
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The rules engine acts as an intermediary between diagram creation and automated analysis. It evaluates the design diagram to detect ambiguities and automatically remediates issues such as missing edges, insufficient configuration information, and unannotated decorative elements. This intermediary process preserves the flexibility of diagram creation while ensuring that the diagram meets the quality requirements for reliable automated analysis in threat modeling, policy compliance, and performance analysis.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10860295B1Automated detection of ambiguities in software design diagrams
Publication Date: 2020.12.08 AMAZON TECH INC
  • US10860295B1 patent drawing
  • US10860295B1 patent drawing
  • US10860295B1 patent drawing

AI summary

Methods, systems, and computer-readable media for automated detection of ambiguities in software design diagrams are disclosed. One or more graphs are determined that represent a plurality of elements of a design diagram. The one or more graphs comprise a plurality of nodes representing components and a plurality of edges representing relationships between the components. An evaluation of the design diagram with respect to one or more rules is initiated by a rules engine. The evaluation is based (at least in part) on traversal of the one or more graphs. Based (at least in part) on the evaluation, one or more flaws are identified in the design diagram. A modified design diagram is generated that represents remediation of at least a portion of the one or more flaws.