Formal And Precise
Software Pattern Representation Languages

LePUS3 and Class-Z

Amnon H Eden, Epameinondas Gasparis, Jonathan Nicholson. "The 'Gang of Four' Companion: Formal specification of design patterns in LePUS3 and Class-Z." Department of Computer Science, University of Essex, Tech. Rep. CSM-472, ISSN 1744-8050 (2007). [.pdf]

Formalized design patterns:

 

This page is no longer actively maintained. Use at your own risk.

Obsolete 

Recently, a collection of the specification languages has appeared in print:

  • Toufik Taibi (ed.) Design Pattern Formalization Techniques. Hershey, USA: Idea Group Inc, 2007. [Table of Contents]

Formal Languages

(In alphabetical order)

  • Sandrine Blazy, Frederic Gervais, Regine Laleau. "Reuse of Specification Patterns with the B Method." Proc. ZB 2003. Lecture Notes in Computer Science 2651, pp. 40–57. Berlin: Springer, 2003.
  • Alex Blewitt, Alan Bundy, Ian Stark. "Automatic verification of design patterns in Java." Proc. 20th IEEE/ACM Int'l Conf. Automated Software Engineering—ASE (7–11 Nov. 2005), Long Beach, CA, USA, pp. 224–232.
  • Jens Dietrich, Chris Elgar. "A formal description of Design Patterns using OWL." Proc. Australian conf. Software Engineering (29 Mar–1 Apr. 2005), pp. 243–250. IEEE Computer Society.
  • Robert B. France, Dae-Kyoo Kim, Sudipto Ghosh, Eunjee Song, "A UML-Based Pattern Specification Technique." IEEE Trans. Software Engineering, Vol. 30, No. 3 (Mar. 2004), pp. 193–206.
  • Epameinondas Gasparis. "LePUS: A Formal Language for Modeling Design Patterns." Ch. XVI in: Toufik Taibi (ed.) Design Pattern Formalization Techniques. Hershey, USA: Idea Group Inc, 2007.
  • Richard Helm, Ian M. Holland, Dipayan Gangopadhyay. "Contracts: Specifying Compositions in Object Oriented Systems". ACM SIGPLAN Notices, Vol. 25, No. 10 (Oct. 1999), pp. 169–180.
  • Anthony Lauder, Stuart Kent. "Precise Visual Specification of Design Patterns". Proc. 12th European Conf. Object Oriented Programming—ECOOP (Jul. 1998), Brussels, Belgium.
  • J.K.H. Mak, C.S.T. Choy; D.P.K. Lun. "Precise specification to compound patterns with ExLePUS." Proc. 27th Annual Int'l Computer Software and Applications Conf.COMPSAC, Dallas, TX, USA (3–6 Nov. 2003), pp. 440–445.
  • D. Mapelsen, J. Hosking, J. Grundy. "Design Pattern Modelling and Instantiation Using DPML". Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications - Volume 10 (Feb. 2002), Sydney, Australia, pp. 3-11.
  • Tommy Mikkonen. "Formalizing Design Patterns". Proc. 20th Int'l Conf. Software Engineering—ICSE (1998), pp. 115–124.
  • José Luis Isla Montes, Francisco Luis Gutiérrez Vela. "Structural Modeling of Design Patterns: REP Diagrams." Proc. 3rd Latin American Conference on Pattern Languages of Programming (12-15 Aug. 2003).
  • Rajeev R. Raje, Sivakumar Chinnasamy. "eLePUS—A Language for Specification of Software Design Patterns". Proc. 2001 ACM Symp. Applied Computing, pp. 600–604.
  • Rajeev R. Raje, Sivakumar Chinnasamy, Andrew M. Olson, William Hidgon. "The Applications and Enhancement of LePUS for Specifying Design Patterns." Ch. XI in: Toufik Taibi (ed.) Design Pattern Formalization Techniques. Hershey, USA: Idea Group Inc, 2007.

Tool Support and Language Extensions

Our work:

(In chronological order)

  • Jie Yuan, Huaikou Miao, Liang Cai. “A Design Pattern Verifier in Two-Tier Programming Environment.” Proc. 4th Int’l Conf. Computer and Inf. Tech.—CIT (2004). Washington, USA: IEEE Computer Society Press, 2004, pp. 1081–1086.
  • J. Aldrich, C. Chambers, D. Notkin. "Architectural Reasoning in ArchJava". Proc. 16th European Conf. Object Oriented Programming—ECOOP (10–14 Jun. 2002), Málaga, Spain.
  • P. Forbrig, R. Lämmel. Programming with Patterns. Proc. TOOLS-USA 2000.
  • G. Sunye, A. L. Guennec, J. Jezequel. "Design Patterns Application in UML". Proc. 14th European Conf. Object-Oriented Programming—ECOOP. Lecture Notes in Computer Science 1850. Berlin: Springer, 2000. See UMLAUT Home Page
  • M. Schütze, Riegel, J. P., Zimmermann G. "PSiGene — A Pattern-Based Component Generator for Building Simulation". Theory and Practice of Object Systems (1999), Vol. 5, No. 2. See Website
  • M. O'Cinnéide, P. Nixon. "A Methodology for the Automated Introduction of Design Patterns." Proc. IEEE Int'l Conf. on Software Maintenance (30 Aug.–3 Sep. 1999).
  • P. Alencar, D. Cowan, J. Dong, C. Lucena. "A Pattern Based Approach to Structural Design Composition." Proc. IEEE Annual Int'l Computer Software and Application Conf. (Oct. 1999).
  • Ismaïl Khriss, Rudolf K. Keller. "Transformations for Pattern-Based Forward-Engineering." Proc. Int'l Workshop on Software Transformation Systems (STS’99), ICSE'99, Los Angeles, CA, pp. 50-58.
  • A. H. Eden, J. Gil, A. Yehudai. "Precise Specification and Automatic Application of Design Patterns". Proc. 12th IEEE Int'l Automated Software Engineering Conf.—ASE (Nov. 1997), Lake Tahoe, Nevada, pp. 143–152. Los Alamos: IEEE Computer Society Press.
  • G. Florijn, M. Meijers, P. van Winsen. Tool Support for Object-Oriented Patterns. Proc. 11th European Conf. Object Oriented Programming—ECOOP'97. Lecture Notes in Computer Science No. 1241. Berlin: Springer-Verlag, 1997.
  • F. J. Budinski, M. A. Finnie, J. M. Vlissides, P. S. Yu. "Automatic Code Generation from Design Patterns". IBM Systems Journal Vol. 35, No. 2 (1996).
  • P. P. Pal (1995). "Law-Governed Support for Realizing Design Patterns". Proc. 17th Conf. on Technology of Object-Oriented Languages and Systems — TOOLS'17 (Aug. 1995), pp. 25–34.

Commercial tools:

Reverse Engineering

  • Joseph (Yossi) Gil, Itay Maman. "Micro Patterns in Java Code." Proc. 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, pp. 97–116.
  • R. K. Keller, R. Schauer, S. Robitaille, P. Page (1999). "Pattern-based Reverse Engineering of Design Components". Proc. 21 Int'l Conf. Software Engineering (May 1999), Los Angeles, CA, pp. 226–235.
  • C. Kramer, L. Prechelt. "Design Recovery by Automated Search for Structural Design Patterns in Object-Oriented Software." Proc. Working Conf. Reverse Engineering (Nov. 8–10, 1996). Monterey, CA.
  • K. Brown. "Design Reverse-Engineering and Automated Design Pattern Detection in Smalltalk." MSc thesis, University of Illinois, 1996.

Position Papers

  • D. Jackson, A. Fekete. Lightweight Analysis of Object Interactions. Proc. 4th Int'l Symp. Theoretical Aspects of Computer Software (Oct. 2001), Sendai, Japan. 
  • James O. Coplien, L. Zhao. Symmetry and Symmetry Breaking in Software Patterns. Proc. 2nd Int'l Symp. Generative and Component-Based Software Engineering—GCSE (Oct, 2000), Erfurt, Germany.
  • M. Ersson, A Gustavsson. "Formalizing the Intent of Design Patterns." Technical report 1999-004, Institute of Information Technology, Uppsala University.
  • Joseph (Yossi) Gil, David Lorenz. "Design Patterns and Language Design". IEEE Computer, Vol. 31, No. 3 (March 1998), pp. 118–120.
  • E. Agerbo, A. Cornils. "How to Preserve the Benefits of Design Patterns". Proc. OOPSLA 1998.
  • Amnon H. Eden. "Giving 'The Quality' a Name". Journal of Object Oriented Programming, Vol. 11 No. 3 (Jun. 1998),  pp. 5–11. New York: SIGS Publications.
  • Peter van Emde Boas. "Resistanceis Futile; Formal Linguistic Observations on Design Patterns". Technical Report CT-1997-03, The Institute For Logic, Language, and Computation (ILLC), University of Amsterdam.

Other papers

  • Claudia Marcos, Marcelo Campo, Alain Pirotte. "Reifying Design Patterns as Metalevel Constructs." Electronic Journal of SADIO, Vol. 2, No. 1 (1999), pp. 17-29.