|Title:||Precise specification of design patterns and compound patterns|
|Subject:||Hong Kong Polytechnic University -- Dissertations|
UML (Computer science)
Object-oriented programming (Computer science)
|Department:||Department of Electronic and Information Engineering|
|Pages:||xxvii, 264 leaves : ill. ; 30 cm|
|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.|
|Rights:||All rights reserved|
As a bona fide Library user, I declare that:
- I will abide by the rules and legal ordinances governing copyright regarding the use of the Database.
- I will use the Database for the purpose of my research or private study only and not for circulation or further reproduction or any other purpose.
- I agree to indemnify and hold the University harmless from and against any loss, damage, cost, liability or expenses arising from copyright infringement or unauthorized usage.
By downloading any item(s) listed above, you acknowledge that you have read and understood the copyright undertaking as stated above, and agree to be bound by all of its terms.
Please use this identifier to cite or link to this item: