2002. Unpublished manuscript.
UML is the de-facto standard formalism for the analysis and design of software. One of the most important components of UML are class diagrams, which model the static relationships that hold between the objects of the domain of interest in terms of classes and associations between them. In designing UML class diagrams, computer aided support is highly desirable for automatically detecting relevant properties of the diagram, such as inconsistencies and redundancies. In this paper we advocate the use of AI techniques at the core of advanced CASE tools, and we propose to formalize UML class diagrams in terms of logic, so as to exploit automated reasoning for computer aided support to the designer. In particular, we argue that state-of-the-art Description Logics systems are in principle perfectly adequate as core reasoning engines for such tools. On the one hand they support Description Logics that are expressive enough to capture UML class diagrams. On the other hand, we show that reasoning on UML class diagrams is EXPTIME-hard, thus matching the complexity of the Description Logics adopted by such systems.
@unpublished{ECAI-2002,
title = "Designing UML Class Diagrams Requires AI",
year = "2002",
author = "Daniela Berardi and Andrea Calì and Diego Calvanese
and De Giacomo, Giuseppe",
note = "Unpublished manuscript",
}