Skip to main content

Representing and Applying Design Patterns: What Is the Problem?

  • Conference paper
Model Driven Engineering Languages and Systems (MODELS 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3713))

Abstract

Design patterns embody proven solutions to recurring design problems. Ever since the gang of four popularized the concept, researchers have been trying to develop methods for representing design patterns, and applying them to modeling problems. To the best of our knowledge, none of the approaches proposed so far represents the design problem that the pattern is meant to solve, explicitly. An explicit representation of the problem has several advantages, including 1) a better characterization of the problem space addressed by the pattern—better than the textual description embodied in pattern documentation templates, 2) a more natural representation of the transformations embodied in the application of the pattern, and 3) a better handle on the automatic detection and application of patterns. In this paper, we describe the principles underlying our approach, and the current implementation in the Eclipse Modeling FrameworkTM.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Albin-Amiot, H., Guéhéneuc, Y.G.: Meta-modeling Design Patterns: application to pattern detection and code synthesis. In: Proceedings of ECOOP Workshop on Automating OO Software Development Methods (2001)

    Google Scholar 

  2. Alencar, P.S.C., Cowan, D.D., Dong, J., Lucena, C.J.P.: A transformational Process-Based Formal Approach to Object-Oriented Design. In: Fitzgerald, J.S., Jones, C.B., Lucas, P. (eds.) FME 1997. LNCS, vol. 1313, Springer, Heidelberg (1997)

    Google Scholar 

  3. Baxter, I.: Design Maintenance Systems. Communications of the ACM 35(4), 73–89 (1992)

    Article  Google Scholar 

  4. Budinsky, F.J., Finnie, M.A., Vlissides, J.M., Yu, P.S.: Automatic Code Generation from Design Patterns. IBM Systems Journal 35(2), 151–171 (1996)

    Article  Google Scholar 

  5. Eden, A.H., Gil, J., Hirshfeld, Y., Yehudai, A.: Towards a mathematical foundation for design patterns. Technical report, dep. of information technology, Uppsala University (1999)

    Google Scholar 

  6. Florijn, G., Meijers, M., van Winsen, P.: Tool support for object-oriented patterns. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 472–495. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  7. Fontoura, M., Lucena, C.: Extending UML to Improve the Representation of Design Patterns. Journal of OO Programming 13(11) (2001)

    Google Scholar 

  8. France, R., Kim, D.: A UML-Based Pattern Specification Technique. IEEE Trans. on Software Engineering 30(3), 193–206 (2004)

    Article  Google Scholar 

  9. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  10. Guéhéneuc, Y.-G., Sahraoui, H.: des signatures numériques pour améliorer la recherche structurelle de patrons. Proceedings of Langages et Modèles à Objets 2005, Berne, Suisse (2005)

    Google Scholar 

  11. Maplesden, D., Hosking, J., Grundy, J.: Design Pattern Modelling and Instantiation using DPML. In: Proceedings of 14th International Conference on Technology of OO Languages and Systems (2002)

    Google Scholar 

  12. Mili, H., El-Boussaidi, G.: Design patterns: recognizing opportunity through rule-based semantic marking. LATECE Technical report, LAT-2005-12 (2005)

    Google Scholar 

  13. Mili, H., Mili, A., Yacoub, S., Addy, E.: Reuse-Based Software Engineering: Techniques, Organization, and Control. John Wiley & Sons, Chichester (2002) ISBN 0-471-39819-5

    Google Scholar 

  14. Odell, J.: Power Types. Journal of Object-Oriented Programming, JOOP (1994)

    Google Scholar 

  15. Pagel, B.-U., Winter, M.: Towards Pattern-Based Tools. In: Proc. of EuropLop (1996)

    Google Scholar 

  16. Partsch, H., Steinbruggen, R.: Program Transformation Systems. Computing Surveys 15(3), 199–236 (1983)

    Article  MathSciNet  Google Scholar 

  17. Sanada, Y., Adams, R.: Representing Design Patterns and Frameworks in UML, Towards a Comprehensive Approach. Journal of Object Technology 1(2), 143–154 (2002)

    Article  Google Scholar 

  18. Sunyé, G., Le Guennec, A., Jézéquel, J.M.: Design pattern application in UML. In: Proc. of the 14th Object Oriented Programming European Conference, pp. 44–62 (2000)

    Google Scholar 

  19. Tahvildari, L., Kontogiannis, K.: Improving Design Quality Using Meta-Pattern Transformations: A Metric-Based Approach. The Journal of Software Maintenance and Evolution: Research and Practice 16(4-5), 331–361 (2004)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mili, H., El-Boussaidi, G. (2005). Representing and Applying Design Patterns: What Is the Problem?. In: Briand, L., Williams, C. (eds) Model Driven Engineering Languages and Systems. MODELS 2005. Lecture Notes in Computer Science, vol 3713. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11557432_14

Download citation

  • DOI: https://doi.org/10.1007/11557432_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29010-0

  • Online ISBN: 978-3-540-32057-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics