vix.ing · top · new · best · stats · spec

Systematic pattern selection using pattern language grammars and design space analysis

2006/12/19 by Uwe Zdun
Computer Science · #Advanced Software Engineering Methodologies #Model-Driven Software Engineering Techniques #Software Engineering Research

paper · doi:10.1002/spe.799

openalex publication_date 2006/12/19 · openalex created_date 2025/10/10 · openalex updated_date 2026/05/21

Abstract

Abstract Software patterns provide reusable solutions to recurring design problems in a particular context. The software architect or designer must find the relevant patterns and pattern languages that need to be considered, and select the appropriate patterns, as well as the best order to apply them. If the patterns and pattern languages are written by multiple pattern authors, it might be necessary to identify interdependencies and overlaps between these patterns and pattern languages first. Out of the possible multitude of patterns and pattern combinations that might provide a solution to a particular design problem, one fitting solution must be selected. This can only be mastered with a sufficient expertise for both the relevant patterns and the domain in which they are applied. To remedy these issues we provide an approach to support the selection of patterns based on desired quality attributes and systematic design decisions based on patterns. We propose to formalize the pattern relationships in a pattern language grammar and to annotate the grammar with effects on quality goals. In a second step, complex design decisions are analyzed further using the design spaces covered by a set of related software patterns. This approach helps to systematically find and categorize the appropriate software patterns—possibly even from different sources. As a case study of our approach, we analyze patterns from a pattern language for distributed object middleware. Copyright © 2006 John Wiley & Sons, Ltd.

Related