article

Tiling design patterns—a case study using the interpreter pattern

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. 1 M. Abadi and L. Cardelli. A Theory o/ Objects. Monographs in Computer Science. Springer Verlag, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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.]] Google ScholarGoogle Scholar
  3. 3 Apple Computer, Inc., Cupertino, CA. Dylan: An object-oriented dynamic language, 1992.]]Google ScholarGoogle Scholar
  4. 4 G. M. Barnes and B. R. Swim. Irdaerit~ng software metrics. Journal of Object.Oriented Programming, pages 27-34, November-December 1993.]]Google ScholarGoogle Scholar
  5. 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 J. O. Coplien and I). C. Schmidt, editors. Pattern Languages of Program Design. Addison-Wesley~ 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 L. G. DeMichiel and R. P. Gabriel. The common lisp object system: An overview, in Bdzivln et al, {5}, pages 151-170.]] Google ScholarGoogle Scholar
  12. 12 K. U. Erven. The Graphic Work of M. G. Esther. Macdonald & Co., London, new, revised and expanded edition, Oct. 1967.]]Google ScholarGoogle Scholar
  13. 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Professional Computing, Addison-Wesley, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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.]]Google ScholarGoogle Scholar
  17. 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18 B. Grfinbaum and G. Shephard. Tilings and Patterns. Mathematical Sciences. W. H. Freeman and Company, New York, 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19 B. Henderson-Sellers. Object Oriented Metrics. Object-Oriented Series. Prentice-Hall, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 J. E. Hopcroft and J. D. Ullman. Introduction to Automata Theory, Languages arid Oomputation. Addison-Wesley, 1979.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21 M. E. N. III. Variations on the visitor pattern. In PLoP '96 {31}. Group 5: Design Patterns.]]Google ScholarGoogle Scholar
  22. 22 A. Koenig. O++ Standard Draft Proposal XJJ16/96- 0~25. American National Standards Institute, Digital Equipment Corporation 1996.]]Google ScholarGoogle Scholar
  23. 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24 K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. P WS Publishing Company, Boston, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26 H. Lieberman. Reversible object-oriented interpreters. In B~zivin et al. {5}, pages 11-19.]] Google ScholarGoogle Scholar
  27. 27 R. C. Martin. Acyclic visitor. In PLoP '96 {31}. Group 5: Design Patterns.]]Google ScholarGoogle Scholar
  28. 28 B. Meyer. EIFFEL the Language. ObjectcOriented Series. Prentice-Hall, 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 29 P. Naur. Revised report on the algorithmic language ALGOL 60. Communications of the A OM, 3(5):229- 314, May 1960.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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.]]Google ScholarGoogle Scholar
  32. 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. 33 E. Y. Shapiro and L. Sterling. The Art of Prolog. Logic Programming. MIT Press, Cambridge, Mass, second edition, 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. 34 J. Vlissides. Pattern hatchig: The trouble with'observer. 04-4- Report, June 1996.]]Google ScholarGoogle Scholar
  35. 35 J. M. Vlissides, J. O. Coplien, and N. L. KetCh, editors. Pattern Languages of Program Design ~. Addison-Wesley, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. 36 N. H. ill. Weste and K. Eshraghian. Principles of UMOS VLSI Design- A System Perspective. VLSI Systems. Addison-Wesley, 1988.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 37 B. Woolf. The null object pattern. In PLoP '96 {31}. Group 5: Design Patterns.]]Google ScholarGoogle Scholar
  38. 38 P.-C. Wu and F.-J. Wang. An object-oriented specification for compiler. A OM SIGPLAN Notices,, 27(1):85-94, Jab_. 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Tiling design patterns—a case study using the interpreter pattern

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!