Automatically Discovering Transitive Relationships in Class Diagrams

Authors: Alexander Egyed

Large-scale class diagrams are overwhelming to designers of software systems. They expose the designer to a level of detail that is often inappropriate for basic understanding; and they complicate evolutionary changes in that the broader impact of changes becomes obscured by details. This chapter presents an approach for the automated abstraction of class diagrams that allows designers to “zoom out” on class diagrams to investigate and reason about their bigger picture. The approach is based on a large number of abstraction rules that individually are not very powerful but, when used together, abstract complex class diagrams quickly. This chapter presents those abstraction rules and an algorithm for applying them. The technique was validated on over a dozen models where it was shown to be well-suited for model understanding, consistency checking, and reverse engineering.

Download PDF here!