Advertisement

Representing and Applying Design Patterns: What Is the Problem?

  • Hafedh Mili
  • Ghizlane El-Boussaidi
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Design Problem Solution Model Problem Model Input Model Design Pattern 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 3.
    Baxter, I.: Design Maintenance Systems. Communications of the ACM 35(4), 73–89 (1992)CrossRefGoogle Scholar
  4. 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)CrossRefGoogle Scholar
  5. 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. 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)CrossRefGoogle Scholar
  7. 7.
    Fontoura, M., Lucena, C.: Extending UML to Improve the Representation of Design Patterns. Journal of OO Programming 13(11) (2001)Google Scholar
  8. 8.
    France, R., Kim, D.: A UML-Based Pattern Specification Technique. IEEE Trans. on Software Engineering 30(3), 193–206 (2004)CrossRefGoogle Scholar
  9. 9.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  10. 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. 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. 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. 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-5Google Scholar
  14. 14.
    Odell, J.: Power Types. Journal of Object-Oriented Programming, JOOP (1994)Google Scholar
  15. 15.
    Pagel, B.-U., Winter, M.: Towards Pattern-Based Tools. In: Proc. of EuropLop (1996)Google Scholar
  16. 16.
    Partsch, H., Steinbruggen, R.: Program Transformation Systems. Computing Surveys 15(3), 199–236 (1983)CrossRefMathSciNetGoogle Scholar
  17. 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)CrossRefGoogle Scholar
  18. 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. 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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Hafedh Mili
    • 1
  • Ghizlane El-Boussaidi
    • 1
  1. 1.Laboratoire de Recherches en Technologies du Commerce Électronique (LATECE), Faculté des SciencesUniversité du Québec à MontréalMontréalCanada

Personalised recommendations