Understanding Design Patterns with Design Rationale Graphs

ID
TR-2002-01
Authors
Elisa L. A. Baniassad, Gail C. Murphy and Christa Schwanninger
Publishing date
March 01, 2002
Length
8 pages
Abstract
A Design Pattern presents a proven solution to a common design problem using a combination of informal text, diagrams, and examples. Often, to suitably describe an issue, the author of a Design Pattern must spread and repeat information throughout the Pattern description. Unfortunately, spreading the information can make it difficult for a reader to grasp subtleties in the design, leading to possible misuses of the Pattern. In this paper, we introduce the Design Rationale Graph (DRG) representation that connects and visualizes related concepts described in a Design Pattern. The localization of concept information is intended to help improve a reader's understanding of a Design Pattern. Improved comprehension of a Pattern could aid the use of a Pattern during implementation, and the reading of code built upon the Pattern. In addition to describing the DRG representation, we present a tool we have built to support the semi-automatic creation of a DRG from Design Pattern text, and we report on a small study conducted to explore the utility of DRGs. The study showed that readers with access to a DRG were able to answer questions about the Pattern more completely and with more confidence than those given the Design Pattern alone.