Title: UML Class Diagrams -- Decision, Identification and Repair of Correctness and Quality Problems
Abstract:
Model-driven
Engineering requires efficient powerful methods for verifying model
correctness and quality. Class Diagram is the central language
within UML. Its main problems involve correctness problems, which
include the consistency and the finite satisfiability problems, and
quality problems, which include the redundancy and incomplete design
problems.
In this talk I will present efficient methods we have developed for analysis of correctness and quality problems in UML class diagrams. The ultimate goal is to have a rich support for static analysis of models, so to enable the development of advanced model level IDEs. First is the FiniteSat algorithm, an efficient detection method for finite satisfiability problems in UML class diagrams. Next, I will present identification methods which points to the causes for finite satisfiability problems and an algorithm for tightening multiplicity constraints that cannot be realized. The last part of the talk relates to the human factor in modeling. We describe a catalog of anti-patterns that characterize correctness and quality problems in class diagrams. Formalization of the anti-patterns involves a template-oriented extension of the class diagram language. The catalog role was tested in a series of experiments. The novelty of the research lies in the integration of formal and educational methods for improving model design quality in class diagrams. Our methods are implemented in our FiniteSatUSE tool and its associated catalog of correctness anti-patterns.
Joint work with Prof. Mira Balaban