×

UML model integration and refactoring method

  • US 9,158,503 B2
  • Filed: 10/08/2013
  • Issued: 10/13/2015
  • Est. Priority Date: 10/08/2013
  • Status: Expired due to Fees
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,

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×