Using integrated metamodeling to define OO design patterns with Object-Z and UML

Three important goals in describing software design patterns are: generality, precision, and understandability. To address these goals, this paper presents an integrated approach to specifying patterns using Object-Z and UML To achieve the generality goal, we adopt a role-based metamodeling approach to define patterns. With this approach, each pattern is defined as a pattern role model. To achieve precision, we formalize role concepts using Object-Z (a role metamodel) and use these concepts to define patterns (pattern role models). To achieve understandability, we represent the role metamodel and pattern role models visually using UML. Our pattern role models provide a precise basis for pattern-based model transformations or refactoring approaches.

[1]  David A. Carrington,et al.  Formalizing the UML Class Diagram Using Object-Z , 1999, UML.

[2]  Roger Duke,et al.  Formal Object Oriented Specification Using Object-Z , 2000 .

[3]  Graeme Smith,et al.  The Object-Z Specification Language , 1999, Advances in Formal Methods.

[4]  Tommi Mikkonen,et al.  Formalizing design patterns , 1998, Proceedings of the 20th International Conference on Software Engineering.

[5]  Rolf Adams,et al.  Representing Design Patterns and Frameworks in UML - Towards a Comprehensive Approach , 2002, J. Object Technol..

[6]  Jean-Marc Jézéquel,et al.  Precise Modeling of Design Patterns , 2000, UML.

[7]  Jing Dong,et al.  UML Extensions for Design Pattern Compositions , 2002, J. Object Technol..

[8]  David Chek Ling Ngo,et al.  Formal Specification of Design Patterns - A Balanced Approach , 2003, J. Object Technol..

[9]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[10]  Andres Flores,et al.  A Formal Model of Object-Oriented Design and GoF Design Patterns , 2001, FME.

[11]  Stuart Kent,et al.  Precise Visual Specification of Design Patterns , 1998, ECOOP.

[12]  Robert B. France,et al.  A UML-based pattern specification technique , 2004, IEEE Transactions on Software Engineering.

[13]  Carlos José Pereira de Lucena,et al.  Extending UML to Improve the Representation of Design Patterns , 2000 .

[14]  Colin Atkinson,et al.  The Essence of Multilevel Metamodeling , 2001, UML.

[15]  Dirk Riehle Describing and Composing Patterns Using Role Diagrams , 1996 .

[16]  Joaquin Miller,et al.  MDA Guide Version 1.0.1 , 2003 .