UML model integration and refactoring method
First Claim
Patent Images
1. A computer-implemented unified modeling language (UML) model integration and refactoring method, comprising the steps of:
- accepting and inputting for further processing a plurality of UML metamodels, the UML metamodels including structural, behavioral, and functional providing structural, behavioral, and functional views diagrams of a system, wherein the structural view diagrams inputting step includes the step of inputting a UML class diagram metamodel, the behavioral view diagrams inputting step includes the step of inputting a sequence diagram metamodel, and the functional view diagrams inputting step includes the step of inputting a UML use case diagram metamodel;
extending the functional and the behavioral metamodels, wherein the extending step further comprises the steps of;
extending the use case diagram metamodel with behavior information in order to establish its relation to the sequence diagram metamodel; and
extending the sequence diagram metamodel to provide model traceability and act as a liaison between the use case diagram metamodel and the class diagram metamodel, wherein the sequence diagram metamodel extension further comprises the steps of;
forming a first new meta-class, SingleOperand, and a second new meta-class, MultiOperand, the new meta-classes deprecating at least one well-formedness rule enforced through constraints on the sequence diagram;
adding a single meta-class for each InteractionOperandKind to the extended metamodel; and
breaking out the each InteractionOperandKind metaclass into a subclass selected from one of said SingleOperand and said MultiOperand meta-classes, thereby permitting a subset of combined fragment operators to be added as metamodel extensions;
composing an integrated UML model derived from the extended metamodels, the integrated UML model integrating the structural, behavioral, and functional system views, wherein the composing further comprises the steps of;
identifying, based on the mapping links, syntactic similarity (SYN) correspondence relationships among the at least two meta-classes, the SYN correspondence relationships indicating that the meta-classes are syntactically equivalent;
merging together the syntactically similar meta-classes, in the resulting metamodel;
identifying, based on the mapping links, Semantic Similarity (SEM) correspondence relationship indicating that the two meta-classes related to each other by this relation are semantically equivalent;
merging together said semantically similar meta-classes based on predefined correspondence rules;
determining, based on an Inclusion (INC) mapping link, that a subject meta-class is included in the resulting metamodel although no similarity exists between the subject meta-class with other meta-classes;
defining correspondence rules to describe an association of the subject meta-class with other meta-classes in said resulting metamodel;
excluding from the resulting metamodel metaclasses having an Exclusion (EXC) mapping link;
determining, based on a Dependency (DEP) mapping link that the at least two meta-classes related to each other by the DEP relation are dependent;
retaining the DEP related at least two meta-classes in the resulting metamodel; and
wherein the use case and sequence metamodels are integrated into the resulting metamodel;
detecting anti-patterns in the integrated UML model, the anti-patterns defining refactoring opportunities and transformation operations applicable to the integrated UML model, wherein detection step further comprises the step of detecting and removing ripple effect smells over the use case, sequence and class diagrams, further wherein the ripple effect smell detection and removing step further comprises the steps of;
calculating a number of associations linked to a Class (NASC) for each class;
calculating a number of internal connections (NOIC);
calculating a number of external connections (NOEC) for each class in a use case behavior, said NOEC calculation being characterized by the following relations,
NOECclass=NASCclass−
NOICclass where NOEC is a measure of the number of classes that may be affected because of any change occurring to the description of the class;
calculating an impact factor (IF) for each use case, said IF calculation being characterized by the following relation,
1 Assignment
0 Petitions
Accused Products
Abstract
The UML model integration and refactoring method steps include extending the metamodels, composing an integrated UML model derived from the extended metamodels, defining refactoring opportunities and transformation operations during the integrated UML composition, and applying a set of composite refactorings to remove an identified smell from the integrated UML model.
-
Citations
26 Claims
-
1. A computer-implemented unified modeling language (UML) model integration and refactoring method, comprising the steps of:
-
accepting and inputting for further processing a plurality of UML metamodels, the UML metamodels including structural, behavioral, and functional providing structural, behavioral, and functional views diagrams of a system, wherein the structural view diagrams inputting step includes the step of inputting a UML class diagram metamodel, the behavioral view diagrams inputting step includes the step of inputting a sequence diagram metamodel, and the functional view diagrams inputting step includes the step of inputting a UML use case diagram metamodel; extending the functional and the behavioral metamodels, wherein the extending step further comprises the steps of; extending the use case diagram metamodel with behavior information in order to establish its relation to the sequence diagram metamodel; and extending the sequence diagram metamodel to provide model traceability and act as a liaison between the use case diagram metamodel and the class diagram metamodel, wherein the sequence diagram metamodel extension further comprises the steps of; forming a first new meta-class, SingleOperand, and a second new meta-class, MultiOperand, the new meta-classes deprecating at least one well-formedness rule enforced through constraints on the sequence diagram; adding a single meta-class for each InteractionOperandKind to the extended metamodel; and breaking out the each InteractionOperandKind metaclass into a subclass selected from one of said SingleOperand and said MultiOperand meta-classes, thereby permitting a subset of combined fragment operators to be added as metamodel extensions; composing an integrated UML model derived from the extended metamodels, the integrated UML model integrating the structural, behavioral, and functional system views, wherein the composing further comprises the steps of; identifying, based on the mapping links, syntactic similarity (SYN) correspondence relationships among the at least two meta-classes, the SYN correspondence relationships indicating that the meta-classes are syntactically equivalent; merging together the syntactically similar meta-classes, in the resulting metamodel; identifying, based on the mapping links, Semantic Similarity (SEM) correspondence relationship indicating that the two meta-classes related to each other by this relation are semantically equivalent; merging together said semantically similar meta-classes based on predefined correspondence rules; determining, based on an Inclusion (INC) mapping link, that a subject meta-class is included in the resulting metamodel although no similarity exists between the subject meta-class with other meta-classes; defining correspondence rules to describe an association of the subject meta-class with other meta-classes in said resulting metamodel; excluding from the resulting metamodel metaclasses having an Exclusion (EXC) mapping link; determining, based on a Dependency (DEP) mapping link that the at least two meta-classes related to each other by the DEP relation are dependent; retaining the DEP related at least two meta-classes in the resulting metamodel; and wherein the use case and sequence metamodels are integrated into the resulting metamodel; detecting anti-patterns in the integrated UML model, the anti-patterns defining refactoring opportunities and transformation operations applicable to the integrated UML model, wherein detection step further comprises the step of detecting and removing ripple effect smells over the use case, sequence and class diagrams, further wherein the ripple effect smell detection and removing step further comprises the steps of; calculating a number of associations linked to a Class (NASC) for each class; calculating a number of internal connections (NOIC); calculating a number of external connections (NOEC) for each class in a use case behavior, said NOEC calculation being characterized by the following relations,
NOECclass=NASCclass−
NOICclasswhere NOEC is a measure of the number of classes that may be affected because of any change occurring to the description of the class; calculating an impact factor (IF) for each use case, said IF calculation being characterized by the following relation, - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A computer software product, comprising a non-transitory medium readable by a processor, the non-transitory medium having stored thereon a set of instructions for implementing a unified modeling language (UML) model integration and refactoring method, the set of instructions including a first sequence of instructions which, when executed by the processor, causes said processor to:
-
accept and input for further processing a plurality of UML metamodels, the UML metamodels including structural, behavioral, and functional providing structural, behavioral, and functional views diagrams of a system, wherein the structural view diagrams inputting step includes the step of inputting a UML class diagram metamodel, the behavioral view diagrams inputting step includes the step of inputting a sequence diagram metamodel, and the functional view diagrams inputting step includes the step of inputting a UML use case diagram metamodel; extend the functional and the behavioral metamodels, wherein the extending step further comprises the steps of; extend the use case diagram metamodel with behavior information in order to establish its relation to the sequence diagram metamodel; and extend the sequence diagram metamodel to provide model traceability and act as a liaison between the use case diagram metamodel and the class diagram metamodel, wherein the sequence diagram metamodel extension further comprises the steps of; form a first new meta-class, SingleOperand, and a second new meta-class, MultiOperand, the new meta-classes deprecating at least one well-formedness rule enforced through constraints on the sequence diagram; add a single meta-class for each InteractionOperandKind to the extended metamodel; and break out the each InteractionOperandKind metaclass into a subclass selected from one of said SingleOperand and said MultiOperand meta-classes, thereby permitting a subset of combined fragment operators to be added as metamodel extensions; compose an integrated UML model derived from the extended metamodels, the integrated UML model integrating the structural, behavioral, and functional system views, wherein the composing further comprises the steps of; identify, based on the mapping links, syntactic similarity (SYN) correspondence relationships among the at least two meta-classes, the SYN correspondence relationships indicating that the meta-classes are syntactically equivalent; merge together the syntactically similar meta-classes, in the resulting metamodel; identify, based on the mapping links, Semantic Similarity (SEM) correspondence relationship indicating that the two meta-classes related to each other by this relation are semantically equivalent; merge together said semantically similar meta-classes based on predefined correspondence rules; determine, based on an Inclusion (INC) mapping link, that a subject meta-class is included in the resulting metamodel although no similarity exists between the subject meta-class with other meta-classes; define correspondence rules to describe an association of the subject meta-class with other meta-classes in said resulting metamodel; exclude from the resulting metamodel metaclasses having an Exclusion (EXC) mapping link; determine, based on a Dependency (DEP) mapping link that the at least two meta-classes related to each other by the DEP relation are dependent; retain the DEP related at least two meta-classes in the resulting metamodel; and wherein the use case and sequence metamodels are integrated into the resulting metamodel; detect anti-patterns in the integrated UML model, the anti-patterns defining refactoring opportunities and transformation operations applicable to the integrated UML model, wherein detection step further comprises the step of detecting and removing ripple effect smells over the use case, sequence and class diagrams, further wherein the ripple effect smell detection and removing step further comprises the steps of; calculate a number of associations linked to a Class (NASC) for each class; calculate a number of internal connections (NOIC); calculate a number of external connections (NOEC) for each class in a use case behavior, said NOEC calculation being characterized by the following relations,
NOECclass=NASCclass−
NOICclasswhere NOEC is a measure of the number of classes that may be affected because of any change occurring to the description of the class; calculate an impact factor (IF) for each use case, said IF calculation being characterized by the following relation,
-
Specification