Describing and Composing Patterns Using Role Diagrams

Home - Sitemap - About » Computer Science - Research - Publications - 1996
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

Design patterns are patterns of classes and objects that present a solution to a recurring design problem. They are usually described using class diagrams. Class diagrams, however, often intertwine the actual solution with efficient ways of implementing it. This paper uses role diagrams to describe and compose patterns. Role diagrams help designers focus on the collaborations and distribution of responsibilities between objects. Role diagrams are also a better starting point for composing patterns. This paper presents several examples and reports on first experiences with using role diagrams for composing patterns which have been promising.

Dirk Riehle. "Describing and Composing Patterns Using Role Diagrams." In Proceedings of the 1996 Ubilab Conference, Zürich. Edited by Kai-Uwe Mätzel and Hans-Peter Frei. Konstanz, Germany: Universitätsverlag Konstanz, 1996. Page 137-152.

Originally published in Proceedings of the 1st International Conference on Object-Oriented Technology in Russia (WOON '96). Edited by Alexander V. Smolyaninov and Alexei S. Shestialtynov. St. Petersburg, Russia: Electrotechnical University, 1996. Page 169-178.

The conference was fun, but the proceedings are somewhat hard to get. Thus, please cite the Ubilab reprint which can be ordered more easily. If you are interested, you can find a conference report by Peter Hoffmann and Doris Schmedding in: Softwaretechniktrends 16, 4 (Dezember 1996). Page 64-65.

The paper is available as a PDF file.

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