Formal Software Design Technique – A Pattern Based Approach - Dey, Shouvik; Bhattacharya, Swapan (INFOCOMP Journal of Computer Science, 2010)
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