Models have a central role in the emerging Model Driven Engineering (MDE) approach, whose major theme is the development of software via repeated model transformations. Management of models requires reasoning about their correctness, enabling necessary revisions, and supporting analysis. The quality of models used in such a process affects not only the final result, but also the development process itself. Erroneous or low quality models can hide key abstractions while highlighting false inter-relationships that can lead the project evolution in a wrong direction.
UML class diagrams capture the structural view within UML models, and form the most commonly used and best understood language within UML. Reasoning about UML class diagrams involves questions like (1) Are the constraints in the diagram contradictory - consistency; (2) Can the constraints be satisfied by a finite number of objects - Finite satisfiability; (3) Are all constraints in the diagram needed - simplification (4) Does the class diagram include an association cycle - analysis.
In this talk we introduce the Class Diagram language, characterize the above reasoning tasks, summarize known results, and elaborate on our own results on finite satisfiability and simplification of class diagrams. We describe efficient methods for detecting finite satisfiability problems, identifying their causes, and reducing unused multiplicities. (Joint work with Azzam Maraee)
Mira Balaban received a B.Sc. in Mathematics and Statistics from Tel-Aviv University (Israel), and a M.Sc. and a Ph.D. in Computer Science from the Weizmann Institute of Science. She also graduated in music from the Rubin Academy of Music in Tel-Aviv. She taught at the Computer Science departments in SUNY Albany NY, and currently is with the Computer Science department in Ben-Gurion University in Israel. Her research is mainly in the area of software engineering, with emphasis on modeling: Correctness of and reasoning about models, modeling languages and model patterns. Previous research was in the areas of artificial intelligence, database semantics, and computer music.
This talk is organized by the Theory and Logic Group at the Institute of Computer Languages.