With the increased use of computers in every-day live, the demand for newer and better software is increasing day by day. This advancement has resulted in that many developers are searching for ways to decrease their development time. One approach is to use design patterns when designing applications. Design pattern are acknowledged solutions to known design problems that can be reused over and over again without ever doing the same thing twice. The most recent advancement of identifying design patterns has been within the domain of concurrent systems. Design pattern within concurrent systems are of interest in this project because of its young age. Development of concurrent applications has often been compared to constant reinvention of the wheel, because code reuse is very low and solutions to design problems are being rediscovered over and over again. By using design pattern, an attempt is made to avoid that. The question is if design patterns are capable of standing under that load. This project takes as a case study the problem of protecting a shared resource in a concurrent application, and implements two different solutions to that problem using a special design pattern. These two implementations are then evaluated, with consideration to certain software quality attributes, in a qualitative way. This project shows how a pattern can be used to solve a common synchronization problem. It discusses the nature of design patterns, what needs to be considered when they are implemented and how a pattern language can affect the implementation.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:his-518 |
Date | January 2001 |
Creators | Buason, Gunnar |
Publisher | Högskolan i Skövde, Institutionen för datavetenskap, Skövde : Institutionen för datavetenskap |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/postscript |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0024 seconds