A formalism to describe design patterns based on role concepts

Kim, Soon Kyeong and Carrington, David (2009) A formalism to describe design patterns based on role concepts. Formal Aspects of Computing, 21 5: 397-420. doi:10.1007/s00165-008-0090-7

Author Kim, Soon Kyeong
Carrington, David
Title A formalism to describe design patterns based on role concepts
Journal name Formal Aspects of Computing   Check publisher's open access policy
ISSN 0934-5043
Publication date 2009-10
Year available 2009
Sub-type Article (original research)
DOI 10.1007/s00165-008-0090-7
Volume 21
Issue 5
Start page 397
End page 420
Total pages 24
Editor J. C. P. Woodcock
D. J. Cooke
J. M. Wing
C. B. Jones
Place of publication London, United Kingdom
Publisher Springer
Language eng
Subject 080309 Software Engineering
890299 Computer Software and Services not elsewhere classified
Abstract Design patterns are typically defined imprecisely using natural language descriptions with graphical annotations. It is also common to describe patterns using a concrete design example with implementation details. Several approaches have been proposed to describe design patterns abstractly based on role concepts. However, the notion of role differs in each approach. The behavioral aspects of patterns are not addressed in the role-based approaches. This paper presents a rigorous approach to describe design patterns based on role concepts.Adopting metamodeling and formalism, our work defines an innovative framework where generic pattern concepts based on roles are precisely defined as a formal role metamodel using Object-Z. Individual patterns are specified using these generic role concepts in terms of pattern role models. Temporal behaviors of patterns are also specified using Object-Z and integrated in the pattern role models. Patterns described this way are abstract, separating pattern realization information from the pattern description. They are also precise providing a rigorous foundation for reasoning about pattern properties. This paper also formalizes the properties that must be captured in a class model when a design pattern is deployed. These properties are defined generically in terms of role bindings from a pattern role model to a class model. They provide a precise basis for checking the validity of pattern utilisation in designs. Our work is supported by tools. We have developed an initial role metamodel using an existing modeling framework, Eclipse Modeling Framework (EMF) and have transformed the metamodel to Object-Z using model transformation techniques. Complex constraints are added to the transformed Object-Z model. More importantly, we implement the role metamodel. Using this implementation, pattern authors can develop an initial pattern role model in the same modeling framework and convert the initial model to Object-Z using our transformation rules. The transformed Object-Z model is then enhanced with behavioral features of the pattern. This tool support significantly improves the practicability of applying formalism to design patterns.
Keyword Design pattern
Formal pattern modeling language
Formal pattern role models
Metamodel-driven pattern development
Q-Index Code C1
Q-Index Status Provisional Code
Institutional Status UQ

Document type: Journal Article
Sub-type: Article (original research)
Collections: ERA 2012 Admin Only
School of Information Technology and Electrical Engineering Publications
Version Filter Type
Citation counts: TR Web of Science Citation Count  Cited 11 times in Thomson Reuters Web of Science Article | Citations
Scopus Citation Count Cited 14 times in Scopus Article | Citations
Google Scholar Search Google Scholar
Created: Thu, 22 Apr 2010, 11:31:23 EST by Marie Walker on behalf of School of Information Technol and Elec Engineering