Diss. ETH No. 13509
A Role Modeling Approach
A dissertation submitted to the
SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH
for the degree of
DOKTOR DER TECHNISCHEN WISSENSCHAFTEN
(DOCTOR OF TECHNICAL SCIENCES)
Dipl.-Inform., Universität Hamburg
born May 23, 1969, citizen of Germany
Accepted on the recommendation of
Prof. Dr. Thomas R. Gross
Prof. Dr. Douglas C. Schmidt
Copyright 1999, 2000 by Dirk Riehle. All rights reserved.
Role modeling for framework design, as developed in this dissertation, makes designing, learning, and
using object-oriented frameworks easier than possible with traditional class-based approaches.
Object-oriented frameworks promise higher productivity and shorter time-to-market for the develop-
ment of object-oriented applications. These goals are achieved through design and code reuse. While
many projects show that these promises can be met, failed projects also show that they are not always
easy to reach. This dissertation addresses three pertinent technical problems of designing, learning,
and using object-oriented frameworks: complexity of classes, complexity of object collaboration, and
lack of clarity of requirements put upon use-clients of a framework.
Role modeling for framework design is an evolutionary extension of class-based modeling of frame-
works. The method enhances class-based modeling with role modeling concepts. In this method, ob-
jects play roles that are described by role types. An object typically plays several roles, so that the
class of an object composes several role types. Moreover, objects collaborate for several different pur-
poses, each of which is called an object collaboration task. Such a task is described by a role model. A
class model composes all relevant role models to describe how instances of its classes collaborate. De-
scribing classes as compositions of role types and class models as compositions of role models reduces
class and object collaboration complexity.
Going one step further, role modeling for frame