Framework Design: A Role Modeling Approach

Home - About » Computer Science - Research - Publications
Computer Science
Research, Industry Work,
Community Service
Hillside Group, CHOOSE,
Stanford GSA
The Serious Side
Business School,
Learning Chinese
Humorous Takes
Switzerland, United States,
Software, Fun Photos
Travel Stories
Europe, United States, Asia
Living Places
Berlin (+ Gallery), Zürich
Boston, S.F. + Bay Area

Dirk Riehle, Dissertation No. 13509, ETH Zürich, 2000

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 development 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 frameworks. It introduces or extends the concepts of role and role type, collaboration task and role model, and provides an extended and precise definition of the framework concept as a well-defined logical and technical system component. The dissertation shows how these concepts are used to design, use, and layer object-oriented frameworks.

Role modeling for framework design represents a significant improvement over current practice regarding the initially stated problems of framework design. This thesis is validated with the help of three case studies that show how role modeling for framework design works in industrial practice. Each of the case studies compares a traditional class-based framework design with a framework design based on role modeling.

For its validation, the thesis is split up into nine sub-theses, each of which has a problem and an activity dimension. The addressed problems are class complexity, object collaboration complexity, and lack of clarity of requirements put upon use-clients. The activities are designing and redesigning a framework, learning a framework, and using a framework. The overall validation of the thesis becomes the validation of all nine problem/activity pairs.

Role modeling for framework design combines the strengths of role modeling with those of class-based modeling while leaving out their weaknesses. It is therefore an evolutionary extension of current methods that preserves existing investments. Finally, role modeling for framework design is the first comprehensive method to make frameworks explicit design artifacts and to introduce modeling concepts for directly expressing their unique properties.

Available from the ETH Zurich dissertation server at or from Dirk Riehle's web site at

Copyright (©) 2007 Dirk Riehle. Some rights reserved. (Creative Commons License BY-NC-SA.) Original Web Location: