Conventional design patterns found in many pattern catalogues are static components of reusable design knowledge. They are fully descriptive of the problems they will solve, but the descriptive knowledge and design they provide does not describe how they can work with other patterns in a design and development process. Therefore, the contention of this thesis is that the knowledge contained within static design patterns is inadequate for the purpose of applying the patterns to generate a software architecture with the intention of developing software systems.\ud \ud \ud The focus of this research has been the investigation of Design Patterns and their potential contribution to a generative development pattern language. Generative design patterns are active and dynamic: they describe how to create something and can be observed in tbe resulting systems they help to create.\ud \ud \ud To this end, a framework is presented that identifies the notational qualities that can be applied to a design pattern for the benefit of implementing architectural design. The impracticality of static design patterns for architectural design is addressed by revising the standard design pattern with a notation that describes the pattern as a generative component. The notation required for this revision is abstracted in part from the rich set of design notations and knowledge contained within:\ud \ud (a) the quality driven processes contained in development methods that contributed to the now standard Unified Modelling Language (UML),\ud (b) the descriptive content of two distinct pattern classifications\ud i) Design Patterns: Elements of Reusable Object-Oriented Software'\ud ii) A Catalogue of General-Purpose Software Design Patterns and\ud (c) a known study of relationships between design patterns\ud i Relationships Between Design Patterns
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.