US-12625680-B2 - Creating a model of software architecture
Abstract
An example operation may include one or more of training a generative artificial intelligence (GenAI) model via execution of the GenAI model on descriptions and diagrams of a software architecture, receiving a plurality of different architecture views from a plurality of different domains of the software architecture, generating an architecture diagram of the plurality of domains of the software architecture in combination based on execution of the GenAI model on the plurality of different architecture views from the plurality of different domains, and displaying the architecture diagram of the plurality of domains of the software architecture via a user interface.
Inventors
- Francis James Alexander GUTTRIDGE
- Dino Paul D'AGOSTINO
- A Warren PRATTEN
- Shahzad Mohammed
- Arvind Chikkalavalasa
- Waqas Nawaz
Assignees
- THE TORONTO-DOMINION BANK
Dates
- Publication Date
- 20260512
- Application Date
- 20230830
Claims (17)
- 1 . An apparatus comprising: a processor executing a generative artificial intelligence (GenAI) model comprising a first mode of operation and a second mode of operation, wherein the processor is configured to: execute the GenAI model in the first mode to cause the GenAI model to: receive multiple architecture views corresponding to different domains of a software architecture, and convert the multiple architecture views into corresponding text and graphics, and execute the GenAI model in the second mode to cause the GenAI model to: generate an architecture diagram combining the corresponding text and graphics, and edges, the edges comprising annotations, that connect software components across the multiple architecture views, and generate a recommended modification to the software architecture based on a component identified as missing based on a difference in requirements between the multiple architecture views wherein the processor is configured to display the recommended modification via a user interface.
- 2 . The apparatus of claim 1 , wherein the processor is configured to cause the GenAI model to: identify that a majority of the different domains of the software architecture use a certain standard, and recommend a missing software component on the certain standard.
- 3 . The apparatus of claim 1 , wherein the processor is configured to: receive feedback about the architecture diagram via the user interface, and retrain the GenAI model based on the architecture diagram and the feedback.
- 4 . The apparatus of claim 1 , wherein the processor is configured to cause the GenAI model to: suggest a change to the software architecture based on the architecture diagram.
- 5 . The apparatus of claim 1 , wherein the processor is configured to cause the GenAI model to: receive a feature set describing features of a new software architecture, and generate a new architecture diagram for the new software architecture.
- 6 . The apparatus of claim 1 , wherein the processor is further configured to: display a prompt on the user interface, and receive a response to the prompt via the user interface, wherein, when the processor displays the architecture diagram, the processor is configured to: display the architecture diagram based on the prompt and the response.
- 7 . The apparatus of claim 1 , wherein the corresponding text and graphics train the second mode of operation.
- 8 . A method performed by a generative artificial intelligence (GenAI) model comprising a first mode of operation and a second mode of operation, the method comprising: using the first mode: receiving multiple architecture views corresponding to different domains of a software architecture, and converting the multiple architecture views into corresponding text and graphics; and using the second mode: generating an architecture diagram combining the corresponding text and graphics, and edges, the edges comprising annotations, that connect software components across the multiple architecture views, and generating a recommended modification to the software architecture based on a component identified as missing based on a difference in requirements between the multiple architecture views; and displaying the recommended modification via a user interface.
- 9 . The method of claim 8 , comprising: identifying that a majority of the domains parts of the software architecture use a certain standard; and recommending a missing software component based on the certain standard.
- 10 . The method of claim 8 , comprising: receiving feedback about the architecture diagram via the user interface; and retraining the GenAI model based on the architecture diagram and the feedback.
- 11 . The method of claim 8 , comprising: suggesting a change to the software architecture based on the architecture diagram.
- 12 . The method of claim 8 , comprising: receiving a feature set describing features of a new software architecture; and generating a new architecture diagram for the new software architecture.
- 13 . The method of claim 8 , comprising: displaying a prompt on the user interface; receiving a response to the prompt via the user interface, wherein the displaying of the architecture diagram comprises: displaying the architecture diagram based on the prompt and the response.
- 14 . The method of claim 8 , wherein the corresponding text and graphics train the second mode of operation.
- 15 . A non-transitory computer-readable medium comprising instructions that, when executed by a processor executing a generative artificial intelligence (GenAI) model comprising a first mode of operation and a second mode of operation, cause the GenAI model to perform: using the first mode: receiving multiple architecture views corresponding to different domains of a software architecture, and converting the multiple architecture views into corresponding text and graphics; and using the second mode: generating an architecture diagram combining the corresponding text and graphics, and edges, the edges comprising annotations, that connect software components across the multiple architecture views, and generating a recommended modification to the software architecture based on a component identified as missing based on a difference in requirements between the multiple architecture views; and displaying the recommended modification via a user interface.
- 16 . The non-transitory computer-readable medium of claim 15 , wherein the instructions cause the AI model to perform: identifying that a majority of the different domains of the software architecture use a certain standard; and recommending a missing software component based on the certain standard.
- 17 . The non-transitory computer-readable medium of claim 15 , wherein the instructions cause the processor to perform: receiving feedback about the architecture diagram via the user interface; and retraining the GenAI model based on the architecture diagram and the feedback.
Description
BACKGROUND For large companies and organizations, the number of software architects can be in the dozens or even hundreds. The architects often work inside a siloed environment outside of a larger software architecture ecosystem of the organization. For example, a first software architect may organize and manage an email software system, while a second software architect may manage a database software system. In this example, these architects may be unaware of the software architecture of the other and of the others in the larger ecosystem. Furthermore, external audits are often performed by external users of an organization that verify licensing rights and identify compliance gaps. These audits are aided significantly by drawings of the architecture. However, these diagrams are often not made by the architect or not completed with enough current information to fully understand the software system as it currently is in real-time. SUMMARY One example embodiment provides an apparatus that may include a data store configured to store software architecture diagrams, and a processor configured to receive runtime data from a plurality of different software systems within a software architecture, the runtime data comprising descriptions of events that occur during runtime between the different software systems of the software architecture, generate a diagram of the software architecture based on execution of a multi-modal generative artificial intelligence (GenAI) model on the runtime data and the stored software architecture diagrams in the data store, and display the diagram of the software architecture via a user interface. Another example embodiment provides a method that includes one or more of storing software architecture diagrams in a data store, receiving runtime data from a plurality of different software systems within a software architecture, the runtime data comprising descriptions of events that occur during runtime between the different software systems of the software architecture, generating a diagram of the software architecture based on execution of a multi-modal generative artificial intelligence (GenAI) model on the runtime data and the software architecture diagrams stored in the data store, and displaying the diagram of the software architecture via a user interface. A further example embodiment provides a computer-readable medium comprising instructions, that when read by a processor, cause the processor to perform one or more of storing software architecture diagrams in a data store, receiving runtime data from a plurality of different software systems within a software architecture, the runtime data comprising descriptions of events that occur during runtime between the different software systems of the software architecture, generating a diagram of the software architecture based on execution of a multi-modal generative artificial intelligence (GenAI) model on the runtime data and the software architecture diagrams stored in the data store, and displaying the diagram of the software architecture via a user interface. One example embodiment provides an apparatus that may include a data store comprising descriptions and diagrams of a software architecture, and a processor configured to train a generative artificial intelligence (GenAI) model via execution of the GenAI model on descriptions and diagrams of a software architecture, receive a plurality of different architecture views from a plurality of different domains of the software architecture, generate an architecture diagram of the plurality of domains of the software architecture in combination based on execution of the GenAI model on the plurality of different architecture views from the plurality of different domains, and display the architecture diagram of the plurality of domains of the software architecture via a user interface. Another example embodiment provides a method that includes one or more of training a generative artificial intelligence (GenAI) model via execution of the GenAI model on descriptions and diagrams of a software architecture, receiving a plurality of different architecture views from a plurality of different domains of the software architecture, generating an architecture diagram of the plurality of domains of the software architecture in combination based on execution of the GenAI model on the plurality of different architecture views from the plurality of different domains, and displaying the architecture diagram of the plurality of domains of the software architecture via a user interface. A further example embodiment provides a computer-readable medium comprising instructions, that when read by a processor, cause the processor to perform one or more of training a generative artificial intelligence (GenAI) model via execution of the GenAI model on descriptions and diagrams of a software architecture, receiving a plurality of different architecture views from a plurality of different domains of the softw