Errors in the UML metamodel?

  • Authors:
  • José M. Fuentes;Víctor Quintana;Juan Llorens;Gonzalo Génova;Rubén Prieto-Díaz

  • Affiliations:
  • dTinf S.L., Leganés- Madrid, Spain;dTinf S.L., Leganés- Madrid, Spain;Universidad Carlos III de Madrid, Leganés-, Madrid, Spain;Universidad Carlos III de Madrid, Leganés-, Madrid, Spain;James Madison University, VA

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Unified Modeling Language (UML) is becoming a standard for software specification, verification, visualization and documentation. Using the rules provided by the standard, software engineers can create models that are concrete and unambiguous.UML creators Booch, Rumbaugh and Jacobson, have defined the standard using UML terminology: they use model elements to define the standard. This way of representing UML is called UML Metamodel, and it is publicly available along with the English definition of the standard.The UML metamodel is intended for software engineers to verify the correctness of their models. It should be assumed, therefore, that the UML metamodel is itself error free. A close study of the UML metamodel by the authors, however, has shown that this may not be the case.After checking the Metamodel with all the rules, constraints and well-formedness rules defined by the standard, the authors found 450 errors and classified them in three different groups:1. Non-accessible elements: represents the most important problem found in the metamodel, and involves some misunderstandings with the contents method.2. Empty names: some rules of the standard states that some elements could not have the same name. Nevertheless, the standard does not clarify whether there could exist two different elements without name, which could be considered as the same (empty) name.3. Miscellanea: this last group of problems deals with duplicated names and derived associations.This paper analyzes and explains the reason for the errors and presents some suggestions for correcting, what the authors believe, are some deficiencies in UML's current standard. The analysis presented should be valuable to practicing software engineers engaged in software modeling.