Specialization/Generalization in Object-Oriented Analysis: Strengthening
and Multiple Partitioning

Pieter Bekaert, Geert Delanote, Frank Devos and Eric Steegmans
Department of Computer Science
Katholieke Universiteit Leuven, Belgium
{pieter.bekaert,geert.delanote,frank.devos, eric.steegmans}@cs.kuleuven.ac.be

Abstract. The driving force in object-oriented analysis to use the concept of
specialization/generalization is polymorphism: the capability and need to
reason
about the union of the sets of objects of the specialization classes. Hereby
features will be defined at the appropriate place. The fact that classes have
common features is not a sufficient condition to generalize. The principle of
strengthening specifications of features is an indispensable rule to manage
class
hierarchies. From the viewpoint of polymorphism, multiple
specialization/generalization is only a logical extension of this modeling
concept and not an optional or exotic one. Further, we discuss some guidelines
to build sound class hierarchies, such as using (multiple) partitions.