Please use this identifier to cite or link to this item: http://hdl.handle.net/10397/85054
Title: Precise specification of design patterns and compound patterns
Authors: Mak, Ka-hing
Degree: M.Phil.
Issue Date: 2004
Abstract: Design Patterns are widely adopted by the object-oriented community to document expert solution of recurring design problems. The solution of a design pattern states the minimum set of invariants that must be satisfied by the context in order to solve the problem. However, the prevalent description of design patterns is in natural languages with ad hoc diagrams. As a result, pattern users often found the invariants of the design pattern ambiguous. In fact, due to the lack of a precise model of pattern solutions, the application of design patterns is highly empirical and non-standardized. Furthermore, without a precise model, CASE tool support for applying, verifying and recovering design patterns are hard to develop. A precise specification language is certainly of great help to reduce the ambiguity in communicating solution invariants between pattern writers and users, and to enable the development of CASE tool support for an efficient use of design patterns. There are two major challenges to obtain a precise specification language for pattern invariants. First, the building blocks of the specification language must be abstract enough to capture only the invariants of the pattern solution without over-specification. This ensures the abstract nature of the pattern solution for generating concrete solutions for any particular design. Second, the language should be easy to comprehend and use for average pattern users. This thesis presents our proposal towards precise specification of pattern invariants as well as their combinations. In the first half we propose an extension to a formal pattern specification language called LePUS. This extended version, called the ExLePUS, enables a formal specification to the combination of design patterns and therefore, the compound patterns. Our experience in modeling compound patterns reveals a number of deficiencies of prior pattern specification languages. Therefore, in the second halt we suggest a UML-based pattern specification approach to specify pattern invariants. A list of features of pattern invariants is presented, some of which are discovered by us. This set of features reveals the deficiency of the conventional object oriented modeling approaches as well as the prior suggested pattern modeling approaches. The UML-based specification approach we proposed requires only a slight extension to UML 1.5 meta-model and a set of predefined stereotypes to support all these features. This allows an easy migration of our approach to UML 2.0, which is yet to be officially released in the year 2003. Modeling pattern invariants in UML offers several advantages. Firstly, UML is a de facto system modeling language that we can reasonably assume the majority of software practitioners will have no difficulty in understanding and specifying software patterns in UML without ambiguity Secondly, the development of CASE tool support to design patterns in UML-based development tools becomes easier if both UML and design pattern models are under the same meta-model. Integrating software pattern technology with the de facto system modeling language opens an opportunity for a better collaboration of pattern technology with other object reuse technology such as frameworks and component-based development.
Subjects: Hong Kong Polytechnic University -- Dissertations
UML (Computer science)
Object-oriented programming (Computer science)
Software engineering
Pages: xxvii, 264 leaves : ill. ; 30 cm
Appears in Collections:Thesis

Show full item record

Page views

42
Last Week
0
Last month
Citations as of Mar 24, 2024

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.