Survey on software design-pattern specification languages

Salman Khwaja, Mohammad Alshayeb*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

14 Scopus citations

Abstract

A design pattern is a well-defined solution to a recurrent problem. Over the years, the number of patterns and domains of design patterns have expanded, as the patterns are the experiences of the experts of the domain captured in a higher-level abstraction. This led others to work on languages for design patterns to systematically document abstraction detailed in the design pattern rather than capture algorithms and data. These design-pattern specification languages come in different flavors, targeting different aspects of design patterns. Some design-pattern specification languages tried to capture the description of the design pattern in graphical or textual format, others tried to discover design patterns in code or design diagrams, and still other design-pattern specification languages have other objectives. However, so far, no effort has been made to compare these design-pattern specification languages and identify their strengths and weaknesses. This article provides a survey and a comparison between existing design-pattern specification languages using a design-pattern specification language evaluation framework. Analysis is done by grouping the design-pattern specification languages into different categories. In addition, a brief description is provided regarding the tools available for the design-pattern specification languages. Finally, we identify some open research issues that still need to be resolved.

Original languageEnglish
Article number21
JournalACM Computing Surveys
Volume49
Issue number1
DOIs
StatePublished - Jun 2016

Bibliographical note

Publisher Copyright:
© 2016 ACM.

Keywords

  • Design pattern specification languages
  • Domain specific languages

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Survey on software design-pattern specification languages'. Together they form a unique fingerprint.

Cite this