Tiling Design Patterns - A Case Study Using the Interpreter Pattern

David H. Lorenz

ACM SIGPLAN Notices
Vol. 32, No. 10 (Oct. 1997), Pages 206-217
in: OOPSLA '97. Proceedings of the 1997 ACM SIGPLAN conference on Object-oriented programming systems, languages and applications, pages 206-217

[Abstract]
[Index Terms]
[Full Text in PDF Format, 1740 KB]
[This paper is cited in the following contexts]


Abstract

This paper explains how patterns can be used to describe the implementation of other patterns. It is demonstrated how certain design patterns can describe their own design. This is a fundamental reflexive relationship in pattern relationships. The process of assembling patterns by other patterns is named pattern tiling. Tiling enables us to interweave simple understood concepts of patterns into their complex real-life implementation. Several pattern tilings for the Interpreter design pattern are illustrated.


General Terms

DESIGN, LANGUAGES, PERFORMANCE, THEORY

Categories and Subject Descriptors

D.3.4 Software, PROGRAMMING LANGUAGES, Processors, Interpreters.
G.2.0 Mathematics of Computing, DISCRETE MATHEMATICS, General.
D.3.2 Software, PROGRAMMING LANGUAGES, Language Classifications.
D.1.5 Software, PROGRAMMING TECHNIQUES, Object-oriented Programming.
D.2.10 Software, SOFTWARE ENGINEERING, Design**.


Published by the
OOPSLA '97. Copyright 1997 ACM, Inc.

BibTeX entry:
@InProceedings{Lorenz:1997:TDP,
	Author = {David H. Lorenz},
	Crossref = {OOPSLA:97},
	Pages = "206--217",
	Title = {Tiling Design Patterns - {A} Case Study Using the Interpreter Pattern},
	Year = 1997,
}

---------- OOSPLA crossref begin ----------
@String{SIGPLAN = "Acm SIGPLAN Notices"}
@String{PROC = "Proceedings of"}
@String{OOPSLA = "Object-Oriented Programming Systems, Languages, and Applications"}
@String{PROC:OOPSLA97 = PROC#" the 12$^{th}$ Annual Conference on "#OOPSLA}
@String{OOPSLA97 = "OOPSLA'97"}
@Proceedings{OOPSLA:97,
	Address = {Atlanta, Georgia},
	Booktitle = PROC:OOPSLA97,
	Key = OOPSLA97,
	Month = oct#{ 5-9},
	Organization = OOPSLA97,
	Publisher = SIGPLAN#{ 32(10) }#Oct#{ 1997},
	Title = PROC:OOPSLA97,
	Year = 1997,
}
---------- OOSPLA crossref end ----------
Other papers on tiling design patterns:
  • James Noble. Classifying relationships between object-oriented design patterns. In Australian Software Engineering Conference (ASWEC), 1998.
  • S. A. Yeates. Design of a garbage collector using design patterns. In TOOLS Pacific 25, 1997.