Formal software design technique: a pattern based approach

Design patterns are usually modeled and documented in natural languages and visual languages, such as the Unified Modeling Language. UML does not keep track of pattern-related information when a design pattern is applied or composed with other patterns. Existing graphical notations are not able to provide complete information to the designers for specifying the role and scope of execution of the participating classes and their methods in a particular design pattern or combination of patterns. Also the existing formal specification languages for design patterns are not complete enough. They basically tend to focus on specifying structural and behavioral aspect of design patterns without taking care of the several extension mechanisms. Existing formal languages are not strong enough to provide several pattern related information like the role of a participating class or a method in combination of patterns which is indeed very important information to pattern users. This paper introduces an extension to the UML Class diagram to better represent design patterns and based on this mechanism a grammar FSDP (Formal Specification of Design Pattern) for this design specification is provided to automate the software pattern design techniques. FSDP is able to represent design pattern and combination of patterns in a more informative way compare to the existing formal languages

[1]  Gerd Wagner,et al.  A UML Profile for Agent-Oriented Modeling , 2002 .

[2]  Martin Glinz,et al.  A Classification of Stereotypes for Object-Oriented Modeling Languages , 1999, UML.

[3]  Jing Dong,et al.  Extending UML to Visualize Design Patterns In Class Diagrams , 2003, SEKE.

[4]  Christos Kloukinas,et al.  Towards a Base UML Profile for Architecture Description , 2001 .

[5]  Alfred Strohmeier,et al.  Towards a UML Profile for Software Architecture Descriptions , 2000, UML.

[6]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[7]  Rudolf K. Keller,et al.  Pattern-based reverse-engineering of design components , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

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

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

[10]  Nenad Medvidovic,et al.  Modeling software architectures in the Unified Modeling Language , 2002, TSEM.

[11]  Bernhard Rumpe,et al.  UML-F: A Modeling Language for Object-Oriented Frameworks , 2000, ECOOP.

[12]  Rik Eshuis,et al.  A Real-Time Execution Semantics for UML Activity Diagrams , 2001, FASE.

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

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

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

[16]  David Chek Ling Ngo,et al.  Formal specification of design pattern combination using BPSL , 2003, Inf. Softw. Technol..