Skip Navigation

Scholars Day 2005, Wednesday, April 13

Evaluating Coding Idioms for Object-Oriented Design Patterns Using a Pugh Matrix Approach

In a paper published in the Proceedings of the 2004 NCUR, the authors proposed a pattern hierarchy approach to object-oriented design that focused on mapping abstract patterns to detailed (design) patterns. This paper extends that research by considering how multiple mappings that exist from abstract to detailed patterns can be evaluated using cohesion and coupling metrics. The hypothesis presented here advocates relative measurement of cohesion/coupling over the use of absolute measures that are hard to obtain in a meaningful way. One mapping between the patterns is categorized as a “base case” and the others are evaluated for cohesion/coupling relative to it. A case study to support this hypothesis considers how the Model-View-Controller (MVC) architecture pattern can be implemented by code that uses an implementation framework for the Observer pattern. Two Java frameworks: java.util.Observer and Java Beans’ PropertyChangeListener, and a third, ‘Impresario´ developed by the authors are considered. These are evaluated for cohesion/coupling relative to an identified “trivial” base case. A Pugh matrix approach, as advocated by Design For Six Sigma (DFSS) practitioners, is used in the evaluation process. The results demonstrate the ease with which the proposed approach can be used to select appropriate coding idioms for various patterns.

Presenter: Srinivas Krishnan (Undergraduate Student)
Topic: Computer Science
Location: 104 Edwards
Time: 2:30 pm (Session IV)