Consistency of UML class diagrams with hierarchy constraints

  • Authors:
  • Mira Balaban;Azzam Maraee

  • Affiliations:
  • Computer Science Department;Information Systems Engineering Department, Ben-Gurion University of the Negev, Beer-Sheva, ISRAEL

  • Venue:
  • NGITS'06 Proceedings of the 6th international conference on Next Generation Information Technologies and Systems
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

UML class diagrams are probably the most important, well-established, UML model. They play an essential role in the analysis and design of complex systems. UML class diagrams allow the specification of constraints such as cardinality constraints, class hierarchy constraints and inter-association constraints. Constraints extend the expressivity of class diagrams, but enable the specification of unsatisfiable class diagrams, i.e., class diagrams that have no finite non-empty instance world. Nowadays, UML case tools still do not check satisfiability of class diagrams, and implementation languages still do not enforce design level constraints. But the expectation is that in the future, and in particular with the prevalence of the Model Driven Engineering approach,all information in a design model will be effective in its successive models. In this paper, we present an algorithm for testing the satisfiability of UML class diagrams that include class hierarchies with “disjoint/overlapping” and “complete/incomplete” constraints. The algorithm is based on a reduction to a previous algorithm of Lenzerini and Nobili that was applied only to ER-diagrams without class hierarchies. Our algorithm is simple and feasible since it adds in the worst case only a linear amount of entities to the original diagram. It improves over previous elaboration of the Lenzerini and Nobili method that require the addition of an exponential number of new entities to the original diagram. An implementation of our method within a UML case tool is currently under development.