This Article 
 Bibliographic References 
 Add to: 
A UML-Based Pattern Specification Technique
March 2004 (vol. 30 no. 3)
pp. 193-206

Abstract—Informally described design patterns are useful for communicating proven solutions for recurring design problems to developers, but they cannot be used as compliance points against which solutions that claim to conform to the patterns are checked. Pattern specification languages that utilize mathematical notation provide the needed formality, but often at the expense of usability. In this paper, we present a rigorous and practical technique for specifying pattern solutions expressed in the Unified Modeling Language (UML). The specification technique paves the way for the development of tools that support rigorous application of design patterns to UML design models. The technique has been used to create specifications of solutions for several popular design patterns. We illustrate the use of the technique by specifying observer and visitor pattern solutions.

[1] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal, A System of Patterns: Pattern-Oriented Software Architecture. Wiley, 1996.
[2] A. Eden, Precise Specification of Design Patterns and Tool Support in Their Application PhD thesis, Univ. of Tel Aviv, Israel, 1999.
[3] R. France, D. Kim, E. Song, and S. Ghosh, Role-Based Modeling Language (RBML) Specification V1.0 Technical Report 02-106, Computer Science Dept., Colorado State Univ., Fort Collins, Colo., June 2002.
[4] R. France, S. Ghosh, E. Song, and D.-K. Kim, A Metamodeling Approach to Pattern-Based Model Refactoring IEEE Software, vol. 20, no. 5, Sept./Oct. 2003.
[5] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1995.
[6] A.L. Guennec, G. Sunye, and J. Jezequel, Precise Modeling of Design Patterns Proc. Third Int'l Conf. Unified Modeling Language, pp. 482-496, 2000.
[7] S.R. Judson and R.B. France, Model Transformations at the Metamodel Level Proc. Workshop Software Model Eng., Unified Modeling Language '03 Conf., Oct. 2003.
[8] D. Kim, R. France, and S. Ghosh, A UML-Based Language for Specifying Domain-Specific Patterns J. Visual Languages and Computing, special issue on domain modeling with visual languages, to be published in 2004.
[9] D. Kim, R. France, S. Ghosh, and E. Song, A Role-Based Metamodeling Approach to Specifying Design Patterns Proc. 27th IEEE Ann. Int'l Computer Software and Applications Conf. (COMPSAC), Nov. 2003.
[10] D.K. Kim, R. France, S. Ghosh, and E. Song, A UML-Based Metamodeling Language to Specify Design Patterns Proc. Workshop Software Model Eng. (WiSME) with Unified Modeling Language Conf. 2003, Oct. 2003.
[11] D.-K. Kim, R. France, S. Ghosh, and E. Song, Using Role-Based Modeling Language (RBML) as Precise Characterizations of Model Families Proc. Int'l Conf. Eng. Complex Computing Systems (ICECCS 2002), Dec. 2002.
[12] L. Lamport, The Temporal Logic of Actions ACM Trans. Programming Languages and Systems, vol. 16, no. 3, pp. 872-923, May 1994.
[13] K. Lano, J. Bicarregui, and S. Goldsack, Formalising Design Patterns Proc. First BCS-FACS Northern Formal Methods Workshop, Electronic Workshops in Computer Science, 1996.
[14] A. Lauder and S. Kent, Precise Visual Specification of Design Patterns Proc. 12th European Conf. Object-Oriented Programming, pp. 114-136, 1998.
[15] T. Mikkonen, Formalizing Design Pattern Proc. 20th Int'l Conf. Software Eng. (ICSE), pp. 115-124, 1998.
[16] B.-U. Pagel and M. Winter, Towards Pattern-Based Tools Proc. European Conf. Pattern Languages of Programming and Computing, 1996.
[17] W. Pree, Design Patterns for Object-Oriented Software Development. Addison Wesley, 1995.
[18] D. Schmidt, M. Stal, H. Rohnert, and F. Buschmann, Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. Wiley, 2000.
[19] M. Sefikla, A. Sane, and R.H. Campbell, Monitoring Compliance of a Software System with Its High-Level Design Models Proc. Int'l Conf. Software Eng., 1996.
[20] J. Warmer and A. Kleppe, The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, 1999.

Index Terms:
Design patterns, object-oriented models, pattern specification, UML.
Robert B. France, Dae-Kyoo Kim, Sudipto Ghosh, Eunjee Song, "A UML-Based Pattern Specification Technique," IEEE Transactions on Software Engineering, vol. 30, no. 3, pp. 193-206, March 2004, doi:10.1109/TSE.2004.1271174
Usage of this product signifies your acceptance of the Terms of Use.