EVOLVING THE ARCHITECTURE OF A SOFTWARE APPLICATION
First Claim
1. A system for evolving the architecture of a software application comprising:
- a diagram designer, the diagram designer receiving user input and architecture information from an architecture discovery system, the diagram designer generating from the user input and the information from the architecture discovery system, an architecture diagram wherein at least one physical artifact is linked directly to a model element of the architecture diagram or wherein the at least one physical artifact is linked indirectly to the model element of the architecture diagram by linking a logical model to the model element, wherein the at least one physical artifact is linked to the model linked to the model element, the architecture diagram modeling an existing architecture or modeling an architecture evolving towards a target architecture or modeling the target architecture;
a validator that applies at least one user-specified rule for the model element of the modified architecture diagram and determines whether the at least one physical artifact linked directly or indirectly to the model element conforms to the at least one user-specified rule, the validator generating a report of constraint violations.
2 Assignments
0 Petitions
Accused Products
Abstract
The logical architecture of an existing or target application or software system is modeled in the form of one or more architecture diagrams. The existing and target diagrams may be compared. A diagram may be modified by associating physical artifacts from an architecture discovery system or by selecting artifacts identified via a query statement. Rules are associated with the diagrams and validation performed based on the rules and the physical artifacts associated with the diagrams. A report may be produced facilitating further modifications to evolve the architecture represented by the diagrams to the target architecture.
-
Citations
20 Claims
-
1. A system for evolving the architecture of a software application comprising:
-
a diagram designer, the diagram designer receiving user input and architecture information from an architecture discovery system, the diagram designer generating from the user input and the information from the architecture discovery system, an architecture diagram wherein at least one physical artifact is linked directly to a model element of the architecture diagram or wherein the at least one physical artifact is linked indirectly to the model element of the architecture diagram by linking a logical model to the model element, wherein the at least one physical artifact is linked to the model linked to the model element, the architecture diagram modeling an existing architecture or modeling an architecture evolving towards a target architecture or modeling the target architecture; a validator that applies at least one user-specified rule for the model element of the modified architecture diagram and determines whether the at least one physical artifact linked directly or indirectly to the model element conforms to the at least one user-specified rule, the validator generating a report of constraint violations. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of evolving an existing software architecture to a target software architecture comprising:
-
creating a first architecture diagram modeling a user perception of an existing logical architecture; programmatically creating a second architecture diagram modeling an actual existing logical architecture based on information from an architecture discovery system that infers a logical architecture from an existing codebase; modifying the first architecture diagram or the second software architecture diagram to create a modified architecture diagram evolving towards modeling a target architecture by associating rules and constraints to model elements of the modified architecture diagram; generating a report of constraint violations based on applying the rules and constraints associated with the model elements of the modified architecture diagram to the physical artifacts linked to the model elements of the modified architecture diagram; iteratively modifying the modified architecture based on the report of constraint violations and iteratively generating the report to evolve an architecture modeled by the modified architecture report to the target architecture. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer-readable storage medium comprising computer-executable instructions which when executed cause a computing environment to:
-
generate a first architecture diagram using a diagram designer, the first architecture diagram modeling a perception of an existing codebase based on user input; generate a second architecture diagram using the diagram designer, the second diagram modeling an actual existing codebase based on information available from an architecture discovery system provided to the diagram designer; modifying the first architecture diagram or the second architecture diagram to create a modified architecture diagram to model a target software architecture; associating selected physical artifacts with a model element of the modified architecture diagram; associating rules and constraints with the model element of the modified architecture diagram; and generating a report of constraint violations by applying the rules and constraints associated with the model element to the physical artifacts associated with the model element and listing discrepancies between the rules and constraints and the physical artifacts. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification