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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.