A Tool for a Formal Pattern Modeling Language

  • Soon-Kyeong Kim
  • David Carrington
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4260)


This paper presents a formal but practical approach for defining and using design patterns. Initially we formalize the concepts commonly used in defining design patterns using Object-Z. We also formalize consistency constraints that must be satisfied when a pattern is deployed in a design model. Then we implement the pattern modeling language and its consistency constraints using an existing modeling framework, EMF, and incorporate the implementation as plug-ins to the Eclipse modeling environment. While the language is defined formally in terms of Object-Z definitions, the language is implemented in a practical environment. Using the plug-ins, users can develop precise pattern descriptions without knowing the underlying formalism, and can use the tool to check the validity of the pattern descriptions and pattern usage in design models. In this work, formalism brings precision to the pattern language definition and its implementation brings practicability to our pattern-based modeling approach.


Design Pattern Object-Z Formal Pattern Modeling Language Model Evolution Model Transformation Pattern Tool 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Eden, A., Hirshfeld, Y., Yehudai, A.: Lepus - a declarative pattern specification language. Technical Report 326/98, Department of Computer Science, Tel Aviv Uni. (1998),
  2. 2.
    Flores, A., Reynoso, L., Moore, R.: A formal model of object-oriented design and GoF patterns. Technical Report 200, UNU/IIST (2000)Google Scholar
  3. 3.
    Guennec, A., Sunye, G., Jezequel, J.: Precise modeling of design patterns. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 482–496. Springer, Heidelberg (2000)Google Scholar
  4. 4.
    Mapelsden, D., Hosking, J., Grundy, J.: Design pattern modeling and instantiation using DPML. In: TOOLS Pacific, pp. 3–11 (2002)Google Scholar
  5. 5.
    Riehle, D.: Describing and composing patterns using role diagrams. In: Ubilab Conference, pp. 137–152 (1996)Google Scholar
  6. 6.
    Gamma, E., Helm, R., Johnson, R., Vlissidese, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  7. 7.
    EMF. Eclipse modeling framework,
  8. 8.
    Kerievsky, J.: Refactoring to Patterns. Addison-Wesley, Reading (2005)Google Scholar
  9. 9.
    Lano, K., Goldsack, S., Bicarregui, J.: Formalizing design patterns. In: BCS-FACS (1996),
  10. 10.
    Soon-Kyeong, K., Burger, D., Carrington, D.A.: An MDA approach towards integrating formal and informal modeling languages. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 448–464. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  11. 11.
    Soon-Kyeong, K., Carrington, D.A.: A rigorous foundation for pattern-based design models. In: Treharne, H., King, S., Henson, M.C., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 242–261. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Lauder, A., Kent, S.: Precise visual specification of design patterns. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 114–134. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  13. 13.
    Fontoura, M., Lucena, C.: Extending UML to improve the representation of design patterns. Journal of Object-Oriented Programming 13(11), 12–19 (2001)Google Scholar
  14. 14.
    Ka-Hing Mak, J., Sze-Tsan Choy, C., Pak-Kong Lun, D.: Precise modeling of design patterns in UML. In: International Conference on Software Engineering, pp. 252–261 (2004)Google Scholar
  15. 15.
    Soundarajan, N., Hallstrom, J.: Responsibilities and rewards: Specifying design patterns. In: International Conference on Software Engineering, pp. 666–675 (2004)Google Scholar
  16. 16.
    Object Management Group, Framingham, Massachusetts. MDA Guide Version 1.0.1 (June 2003)Google Scholar
  17. 17.
    Object Management Group, Framingham, Massachusetts. UML 2.0 Superstructure Specification (October 2004)Google Scholar
  18. 18.
    Duke, R., Rose, G.: Formal Object-Oriented Specification Using Object-Z. Macmillan, Basingstoke (2002)Google Scholar
  19. 19.
    France, R., Kim, D.-K., Sudipto, G., Song, E.: A UML-based pattern specification technique. IEEE Transactions on Software Engineering 30(3), 193–206 (2004)CrossRefGoogle Scholar
  20. 20.
    France, R., Sudipto, G., Song, E., Kim, D.-K.: A metamodeling approach to pattern-based model refactoring. IEEE Software 20(5), 52–58 (2003)CrossRefGoogle Scholar
  21. 21.
    Neal, S., Linington, P.: Tool support for development using patterns. In: International Enterprise Distributed Object Computing, pp. 237–248 (2001)Google Scholar
  22. 22.
    Mens, T., Tourwe, T.: A declarative evolution framework for object-oriented design patterns. In: International Conference on Software Maintenance, pp. 570–579 (2001)Google Scholar
  23. 23.
    Tefkat. The EMF transformation engine,
  24. 24.
    Sanada, Y., Adams, R.: Representing design patterns and frameworks in UML - towards a comprehensive approach. Journal of Object-Oriented Programming 2, 143–154 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Soon-Kyeong Kim
    • 1
  • David Carrington
    • 1
  1. 1.School of Information Technology and Electrical EngineeringThe University of QueenslandAustralia

Personalised recommendations