IP Library Granted Patent US 11,237,802
Granted Patent B1
US 11,237,802 · App. 16/933,783 · Granted Feb 1, 2022

Architecture diagram analysis tool for software development

Inventors: MadhuSudhanan Krishnamoorthy (Chennai, IN); Sreeram Raghavan (Chennai, IN)
Assignee: Bank of America Corporation
G06F8/34G06F8/36
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,237,802
App. No.
16/933,783
Granted
Feb 1, 2022
Kind
B1
Abstract

A device configured to obtain an architecture diagram that includes features that are configured to form a workflow for a computer system. The device is further configured to identify the features within the architecture diagram and their metadata. The device is further configured to convert the features into vector points based on the metadata and to generate a vector map that associates vector points with their metadata. The device is further configured to input the vector points into a machine learning model and to obtain classification results for the vector points. The device is further configured to identify non-compliant features that correspond with vector points that are associated with a non-compliant classification. The device is further configured to identify alternative features for the non-compliant features, to update the vector map with the alternative features, and to update the architecture diagram based on the updated vector map.

Claims (111)

1. An architecture diagram analysis device, comprising:

a memory operable to store a machine learning model configured to classify an input as either compliant or non-compliant; and

a processor operably coupled to the memory, configured to:

obtain an architecture diagram comprising graphical representations of a plurality of features that are configured to form a workflow for a computer system, wherein the plurality of features comprises:

a plurality of components comprising software applications and hardware components; and

communication channels between the plurality of components;

identify the plurality of features within the architecture diagram;

identify metadata that is associated with the identified features, wherein:

the metadata comprise text associated with the identified features and location information for the identified features within the architecture diagram; and

the location information comprises information identifying where a feature is located within the architecture diagram;

convert the identified features into vector points based on the identified metadata, wherein:

a vector point is a point in an n-dimensional space; and

the number of dimensions in the n-dimensional space is based on the number of features in the architecture diagram;

generate a vector map, wherein the vector map is configured to associate a vector point with its corresponding metadata;

input the vector points into the machine learning model;

obtain classification results for the vector points in response to inputting the vector points into the machine learning model, wherein the classification results associate each vector point with one of a compliant classification and a non-compliant classification;

identify vector points that are associated with a non-compliant classification;

identify one or more non-compliant features corresponding with the vector points that are associated with a non-compliant classification;

identify alternative features for the one or more non-compliant features, wherein each alternative feature is one of a software application and a hardware component;

update the vector map by replacing the one or more non-compliant features with the alternative features; and

update the architecture diagram based on the updated vector map, wherein updating the architecture diagram replaces graphical representations of the one or more non-compliant features with graphical representations of the alternative features in the architecture diagram.

2. The device of claim 1 , wherein:

the processor is further configured to perform a clustering analysis comprising:

generating a plot of the vector points within the n-dimensional space;

determining a number of clusters within the plot;

determining the number of clusters exceeds a predetermined threshold value; and

determining that the vector points comprise one or more non-compliant features in response to determining that the number of clusters exceeds the predetermined threshold value; and

inputting the vector points into the machine learning model is in response to determining that the vector points comprise one or more non-compliant featured based on the clustering analysis.

3. The device of claim 1 , wherein:

the memory further comprises a feature repository that is configured to associates non-compliant features with compliant features; and

identifying the alternative features comprises identify compliant features that correspond with the one or more non-compliant features in the feature repository.

4. The device of claim 1 , wherein updating the architecture diagram comprises:

identifying location information for a non-compliant feature in the vector map;

identifying a graphical representation of the non-compliant feature in the architecture diagram based on the location information; and

replacing the graphical representation of the non-compliant feature with a graphical representation of an alternative feature in the architecture diagram.

5. The device of claim 1 , wherein identifying the one or more non-compliant features corresponding with the vector points that are associated with a non-compliant classification comprises highlighting the one or more non-compliant features in the architecture diagram.

6. The device of claim 5 , wherein highlighting the one or more non-compliant features in the architecture diagram comprises:

identifying location information for a non-compliant feature in the vector map; and

modifying the graphical representation of the non-compliant feature in the architecture diagram.

7. The device of claim 1 , wherein processor is further configured to output instructions for replacing non-compliant features with alternative features.

8. An architecture diagram analysis method for a computing system infrastructure, comprising:

obtaining an architecture diagram comprising graphical representations of a plurality of features that are configured to form a workflow for a computer system, wherein the plurality of features comprises:

a plurality of components comprising software applications and hardware components; and

communication channels between the plurality of components;

identifying the plurality of features within the architecture diagram;

identifying metadata that is associated with the identified features, wherein:

the metadata comprise text associated with the identified features and location information for the identified features within the architecture diagram; and

the location information comprises information identifying where a feature is located within the architecture diagram;

converting the identified features into vector points based on the identified metadata, wherein:

a vector point is a point in an n-dimensional space; and

the number of dimensions in the n-dimensional space is based on the number of features in the architecture diagram;

generating a vector map, wherein the vector map is configured to associate a vector point with its corresponding metadata;

inputting the vector points into a machine learning model that is configured to classify an input as either compliant or non-compliant;

obtaining classification results for the vector points in response to inputting the vector points into the machine learning model, wherein the classification results associate each vector point with one of a compliant classification and a non-compliant classification;

identifying vector points that are associated with a non-compliant classification;

identifying one or more non-compliant features corresponding with the vector points that are associated with a non-compliant classification;

identifying alternative features for the one or more non-compliant features, wherein each alternative feature is one of a software application and a hardware component;

updating the vector map by replacing the one or more non-compliant features with the alternative features; and

updating the architecture diagram based on the updated vector map, wherein updating the architecture diagram replaces graphical representations of the one or more non-compliant features with graphical representations of the alternative features in the architecture diagram.

9. The method of claim 8 , further comprising performing a clustering analysis comprising:

generating a plot of the vector points within the n-dimensional space;

determining a number of clusters within the plot;

determining the number of clusters exceeds a predetermined threshold value; and

determining that the vector points comprise one or more non-compliant features in response to determining that the number of clusters exceeds the predetermined threshold value; and

wherein inputting the vector points into the machine learning model is in response to determining that the vector points comprise one or more non-compliant featured based on the clustering analysis.

10. The method of claim 8 , further comprising identifying the alternative features comprises identify compliant features that correspond with the one or more non-compliant features in a feature repository, wherein the feature repository is configured to associate non-compliant features with compliant features.

11. The method of claim 8 , wherein updating the architecture diagram comprises:

identifying location information for a non-compliant feature in the vector map;

identifying a graphical representation of the non-compliant feature in the architecture diagram based on the location information; and

replacing the graphical representation of the non-compliant feature with a graphical representation of an alternative feature in the architecture diagram.

12. The method of claim 8 , wherein identifying the one or more non-compliant features corresponding with the vector points that are associated with a non-compliant classification comprises highlighting the one or more non-compliant features in the architecture diagram.

13. The method of claim 12 , wherein highlighting the one or more non-compliant features in the architecture diagram comprises:

identifying location information for a non-compliant feature in the vector map; and

modifying the graphical representation of the non-compliant feature in the architecture diagram.

14. The method of claim 8 , further comprising outputting instructions for replacing non-compliant features with alternative features.

15. A computer program comprising executable instructions stored in a non-transitory computer readable medium that when executed by a processor causes the processor to:

obtain an architecture diagram comprising graphical representations of a plurality of features that are configured to form a workflow for a computer system, wherein the plurality of features comprises:

a plurality of components comprising software applications and hardware components; and

communication channels between the plurality of components;

identify the plurality of features within the architecture diagram;

identify metadata that is associated with the identified features, wherein:

the metadata comprise text associated with the identified features and location information for the identified features within the architecture diagram; and

the location information comprises information identifying where a feature is located within the architecture diagram;

convert the identified features into vector points based on the identified metadata, wherein:

a vector point is a point in an n-dimensional space; and

the number of dimensions in the n-dimensional space is based on the number of features in the architecture diagram;

generate a vector map, wherein the vector map is configured to associate a vector point with its corresponding metadata;

input the vector points into a machine learning model that is configured to classify an input as either compliant or non-compliant;

obtain classification results for the vector points in response to inputting the vector points into the machine learning model, wherein the classification results associate each vector point with one of a compliant classification and a non-compliant classification;

identify vector points that are associated with a non-compliant classification;

identify one or more non-compliant features corresponding with the vector points that are associated with a non-compliant classification;

identify alternative features for the one or more non-compliant features, wherein each alternative feature is one of a software application and a hardware component;

update the vector map by replacing the one or more non-compliant features with the alternative features; and

update the architecture diagram based on the updated vector map, wherein updating the architecture diagram replaces graphical representations of the one or more non-compliant features with graphical representations of the alternative features in the architecture diagram.

16. The computer program of claim 15 , further comprising instructions that when executed by the processor causes the processor to perform a clustering analysis comprising:

generating a plot of the vector points within the n-dimensional space;

determining a number of clusters within the plot;

determining the number of clusters exceeds a predetermined threshold value; and

determining that the vector points comprise one or more non-compliant features in response to determining that the number of clusters exceeds the predetermined threshold value; and

wherein inputting the vector points into the machine learning model is in response to determining that the vector points comprise one or more non-compliant featured based on the clustering analysis.

17. The computer program of claim 15 , further comprising instructions that when executed by the processor causes the processor to identify the alternative features comprises identify compliant features that correspond with the one or more non-compliant features in a feature repository, wherein the feature repository is configured to associate non-compliant features with compliant features.

18. The computer program of claim 15 , wherein updating the architecture diagram comprises:

identifying location information for a non-compliant feature in the vector map;

identifying a graphical representation of the non-compliant feature in the architecture diagram based on the location information; and

replacing the graphical representation of the non-compliant feature with a graphical representation of an alternative feature in the architecture diagram.

19. The computer program of claim 15 , wherein:

identifying the one or more non-compliant features corresponding with the vector points that are associated with a non-compliant classification comprises highlighting the one or more non-compliant features in the architecture diagram; and

highlighting the one or more non-compliant features in the architecture diagram comprises:

identifying location information for a non-compliant feature in the vector map; and

modifying the graphical representation of the non-compliant feature in the architecture diagram.

20. The computer program of claim 15 , further comprising instructions that when executed by the processor causes the processor output instructions for replacing non-compliant features with alternative features.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2020
From: KRISHNAMOORTHY, MADHUSUDHANAN; RAGHAVAN, SREERAM
To: BANK OF AMERICA CORPORATION
Reel/Frame 053257/0576 →
Cited By (6)
US 12,399,687 US 12,585,435 US 12,625,680 US 12,645,429 US 12,650,836 US 12,699,556