Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Eden, A., Hirshfeld, Y., Yehudai, A.: Lepus - a declarative pattern specification language. Technical Report 326/98, Department of Computer Science, Tel Aviv Uni. (1998), http://www.math.tau.ac.il/~eden/bibliography.html#lepus
Flores, A., Reynoso, L., Moore, R.: A formal model of object-oriented design and GoF patterns. Technical Report 200, UNU/IIST (2000)
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)
Mapelsden, D., Hosking, J., Grundy, J.: Design pattern modeling and instantiation using DPML. In: TOOLS Pacific, pp. 3–11 (2002)
Riehle, D.: Describing and composing patterns using role diagrams. In: Ubilab Conference, pp. 137–152 (1996)
Gamma, E., Helm, R., Johnson, R., Vlissidese, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
EMF. Eclipse modeling framework, http://www.eclipse.org/emf/
Kerievsky, J.: Refactoring to Patterns. Addison-Wesley, Reading (2005)
Lano, K., Goldsack, S., Bicarregui, J.: Formalizing design patterns. In: BCS-FACS (1996), http://www1.bcs.org.uk/DocsRepository/02700/2790/lano.pdf
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)
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)
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)
Fontoura, M., Lucena, C.: Extending UML to improve the representation of design patterns. Journal of Object-Oriented Programming 13(11), 12–19 (2001)
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)
Soundarajan, N., Hallstrom, J.: Responsibilities and rewards: Specifying design patterns. In: International Conference on Software Engineering, pp. 666–675 (2004)
Object Management Group, Framingham, Massachusetts. MDA Guide Version 1.0.1 (June 2003)
Object Management Group, Framingham, Massachusetts. UML 2.0 Superstructure Specification (October 2004)
Duke, R., Rose, G.: Formal Object-Oriented Specification Using Object-Z. Macmillan, Basingstoke (2002)
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)
France, R., Sudipto, G., Song, E., Kim, D.-K.: A metamodeling approach to pattern-based model refactoring. IEEE Software 20(5), 52–58 (2003)
Neal, S., Linington, P.: Tool support for development using patterns. In: International Enterprise Distributed Object Computing, pp. 237–248 (2001)
Mens, T., Tourwe, T.: A declarative evolution framework for object-oriented design patterns. In: International Conference on Software Maintenance, pp. 570–579 (2001)
Tefkat. The EMF transformation engine, https://sourceforge.net/projects/tefkat/
Sanada, Y., Adams, R.: Representing design patterns and frameworks in UML - towards a comprehensive approach. Journal of Object-Oriented Programming 2, 143–154 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kim, SK., Carrington, D. (2006). A Tool for a Formal Pattern Modeling Language. In: Liu, Z., He, J. (eds) Formal Methods and Software Engineering. ICFEM 2006. Lecture Notes in Computer Science, vol 4260. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11901433_31
Download citation
DOI: https://doi.org/10.1007/11901433_31
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-47460-9
Online ISBN: 978-3-540-47462-3
eBook Packages: Computer ScienceComputer Science (R0)