[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article
Free access

Tiling design patterns—a case study using the interpreter pattern

Published: 09 October 1997 Publication History

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.

References

[1]
M. Abadi and L. Cardelli. A Theory o/ Objects. Monographs in Computer Science. Springer Verlag, 1996.]]
[2]
Workshop on adaptable and adaptive software. In S. C. Bilow and P. S. Bilow, editors, Addendum to the Proceedings o/the 10th Annual Conference on Object.Oriented Programming Systems, Languages, and Applications, pages 149--154, Austin, Texas, USA, Oct. 15-19 1995. OOPS Messenger 6(4) Oct. 1995. Reported by K. Lieberherr.]]
[3]
Apple Computer, Inc., Cupertino, CA. Dylan: An object-oriented dynamic language, 1992.]]
[4]
G. M. Barnes and B. R. Swim. Irdaerit~ng software metrics. Journal of Object.Oriented Programming, pages 27-34, November-December 1993.]]
[5]
3. Bdzivin, J.-M. Hullot, P. Cointe, and H. Lieberman, editors. Proceedings o/the 1st European Conference on Object-Oriented Programming, number 276 in Lecture Notes in Computer Science, Paris, Prance, June 15-17 1987. ECOOP'87, Springer Vetlag.]]
[6]
F. J. Budinsky, M. A. Finnie, 3. M. Vllssldes, and P. S. Yu. Automatic code generation from design patterns. IBM System Journal, 35(2), 1996.]]
[7]
S. R. Chidamber and C. F. Kemerer. Towards a metrics suite for object-oriented design. In Proceedings of the 6tn Annual Conference on Object. Oriented Programming Systems, Languages, and Applications, pages 197-211, Phoenix, Arizona, USA, Oct.6-11 1991. OOPSLA'91, Acre SIGPLAN Notices 26(11) Nov. 1991.]]
[8]
J. O. Coplien and I). C. Schmidt, editors. Pattern Languages of Program Design. Addison-Wesley~ 1995.]]
[9]
W. De Pauw, R. Helm, D. Kimelman, and J. Vlissides. Visualizing the behavior of object-oriented systems. In Proceedings of the 9~h Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 326--337, Portland, Oregon~ USA, Oct. 23-27 1994. OOPSLA'94, Acre SIGPLAN Notices 29(10) Oct. 1994.]]
[10]
W. De Pauw, D. Kimelman, and J. Vlissldes. Modeling object-oriented program execution. In M. Tokoro and R. PareschJ, editors, Proceedings of the 8~h European Conyerence on Object-Oriented Programming, number 821 in Lecture Notes in Computer Sclence, pages 163-182~ Bologna, Italy, July 4-8 1994. ECOOP'94, Springer Verlag.]]
[11]
L. G. DeMichiel and R. P. Gabriel. The common lisp object system: An overview, in Bdzivln et al, {5}, pages 151-170.]]
[12]
K. U. Erven. The Graphic Work of M. G. Esther. Macdonald & Co., London, new, revised and expanded edition, Oct. 1967.]]
[13]
B. Foote and R. E. Jonson. Reflective facilities in smalltalk-80. In N. K. Meyrowitz, editor, Proceedings of the 4th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 327-335, New Orleans, Louisiana, Oct, 1-6 1989. OOPSLA'89, Acre SIGPLAN Nptices 24(10) Oct. 1989.]]
[14]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design patterns: Abstraction and reuse of objectoriented design. In O. M. Nierstrasz, editor, Proceedings of the 7eh European Conference on Object- Oriented Programming, number 707 in Lecture Notes in Computer Science, pages 406--431, Kaiserslantern~ Germany, July 26-30 1993. ECOOP'93, Springer Vetlag.]]
[15]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Professional Computing, Addison-Wesley, 1995.]]
[16]
J. Gil and D. H. Lorenz. SOOP- A synthesizer of an object-oriented parser. In Proceedings of the 16ta International Conference on Technology of Object- Oriented Languages and Systems, pages 81-96, Versailles, France, Mar. 6-10 1995. TOOLS 16 Europe Conference, Prentice-Hall.]]
[17]
J. Gil and D. H. Lorenz. Environmental Acquisition~A new "inheritance'-like abstraction mechanism. In Proceedings of the 11th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, San Jose, California, Oct. 6-10 1996. OOPSLA'96, Acm SIGPLAN Notices 31(10) Oct,. 1996.]]
[18]
B. Grfinbaum and G. Shephard. Tilings and Patterns. Mathematical Sciences. W. H. Freeman and Company, New York, 1987.]]
[19]
B. Henderson-Sellers. Object Oriented Metrics. Object-Oriented Series. Prentice-Hall, 1996.]]
[20]
J. E. Hopcroft and J. D. Ullman. Introduction to Automata Theory, Languages arid Oomputation. Addison-Wesley, 1979.]]
[21]
M. E. N. III. Variations on the visitor pattern. In PLoP '96 {31}. Group 5: Design Patterns.]]
[22]
A. Koenig. O++ Standard Draft Proposal XJJ16/96- 0~25. American National Standards Institute, Digital Equipment Corporation 1996.]]
[23]
H. F. Li and W. K. Cheung. An empirical study of software metrics. IEEE Transactions on Software Engineering, 13(6):697-708, June 1987.]]
[24]
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. P WS Publishing Company, Boston, 1996.]]
[25]
K. J. Lieberherr, i. Silva-Lepe, and O. Xiao. Adaptive object-oriented programming using graphbased customization. Communications 6} the A OM, 37(5):94-101, May 1994.]]
[26]
H. Lieberman. Reversible object-oriented interpreters. In B~zivin et al. {5}, pages 11-19.]]
[27]
R. C. Martin. Acyclic visitor. In PLoP '96 {31}. Group 5: Design Patterns.]]
[28]
B. Meyer. EIFFEL the Language. ObjectcOriented Series. Prentice-Hall, 1992.]]
[29]
P. Naur. Revised report on the algorithmic language ALGOL 60. Communications of the A OM, 3(5):229- 314, May 1960.]]
[30]
H. Ossher, M. Kaplan, W. Harrison, A. Katz, and V. Kruskal. Subject-oriented composition rules. In Proceedings of the 10th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 235-250, Austin, Texas, USA, Oct. 15-19 1995. OOPSLA'95, Acm SIGPLAN Notices 30(10) Oct. 1995.]]
[31]
PLoP '96. Proceedings of the 8~a Annual Oonference on the Pattern Languages of Programs, Robert Allerton Park and Conference Center, University of Illinois at Urbana-Champaign, Monticello, Illinois, Sept. 3-6 1996. Washington University, Technical Report WUCS-97-07.]]
[32]
L. M. Seiter, J. Palsberg, and K. J. Lieberherr. Evolution of objec~ behavior using context relations. In D. Garlan, editor, Proceedings of.the 4th A UM SIC- SOFT Symposium on the Foundations of Software Engineering, pages 46-57, San Francisco, California, Oct. 16-18 1996. SIGSOFT'96, Acre Software Engineering Notes 21(6) Nov. 1996.]]
[33]
E. Y. Shapiro and L. Sterling. The Art of Prolog. Logic Programming. MIT Press, Cambridge, Mass, second edition, 1994.]]
[34]
J. Vlissides. Pattern hatchig: The trouble with'observer. 04-4- Report, June 1996.]]
[35]
J. M. Vlissides, J. O. Coplien, and N. L. KetCh, editors. Pattern Languages of Program Design ~. Addison-Wesley, 1996.]]
[36]
N. H. ill. Weste and K. Eshraghian. Principles of UMOS VLSI Design- A System Perspective. VLSI Systems. Addison-Wesley, 1988.]]
[37]
B. Woolf. The null object pattern. In PLoP '96 {31}. Group 5: Design Patterns.]]
[38]
P.-C. Wu and F.-J. Wang. An object-oriented specification for compiler. A OM SIGPLAN Notices, 27(1):85-94, Jab_. 1992.]]

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 32, Issue 10
Oct. 1997
344 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/263700
Issue’s Table of Contents
  • cover image ACM Conferences
    OOPSLA '97: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
    October 1997
    345 pages
    ISBN:0897919084
    DOI:10.1145/263698
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 October 1997
Published in SIGPLAN Volume 32, Issue 10

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)59
  • Downloads (Last 6 weeks)11
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2007)An object-oriented and generic compiler generatorProceedings of the 11th international conference on Computer aided systems theory10.5555/1783034.1783052(130-137)Online publication date: 12-Feb-2007
  • (2007)An Object-Oriented and Generic Compiler GeneratorComputer Aided Systems Theory – EUROCAST 200710.1007/978-3-540-75867-9_17(130-137)Online publication date: 2007
  • (2002)Visitor Beans: An Aspect-Oriented PatternObject-Oriented Technology: ECOOP’98 Workshop Reader10.1007/3-540-49255-0_130(431-432)Online publication date: 26-Jul-2002
  • (2008)A Debugger for the Interpreter Design PatternSoftware and Data Technologies10.1007/978-3-540-88655-6_6(73-85)Online publication date: 2008
  • (2002)On the role of design patterns in quality-driven re-engineeringProceedings of the Sixth European Conference on Software Maintenance and Reengineering10.1109/CSMR.2002.995810(230-240)Online publication date: 2002
  • (2002)Visitor Beans: An Aspect-Oriented PatternObject-Oriented Technology: ECOOP’98 Workshop Reader10.1007/3-540-49255-0_130(431-432)Online publication date: 26-Jul-2002
  • (2001)An evolutive architecture reasons as a semiotic, hermeneutic and autopoietic entityProceedings of the 4th International Workshop on Principles of Software Evolution10.1145/602461.602491(138-141)Online publication date: 10-Sep-2001
  • (1998)Classifying relationships between object-oriented design patternsProceedings 1998 Australian Software Engineering Conference (Cat. No.98EX233)10.1109/ASWEC.1998.730917(98-107)Online publication date: 1998

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media