To search, Click below search items.


All Published Papers Search Service


An Expert System for Design Patterns Recognition


Omar AlSheikSalem, Hazem Qattous


Vol. 17  No. 1  pp. 93-101


Several design problems are faced during the designing process of systems. Many of these problems are faced several times throughout the work of designers and programmers during the design and development stage of different systems. Through their work, experts can notice similarities between different design problems contexts and reuse the same previous designed solutions each time. They can notice similarities between different problems contexts because they have the experience to do so. Unfortunately, novices in design cannot recognize these similarities to benefit from using previous solutions to solve their current problem(s). Design patterns are one of the ways to encapsulate the experience of experts as they are considered to be design solutions for recurrent design problems. To use design patterns in solving design problems, a designers should have the experience to discover and recognize the applicability of a specific design pattern that is suitable to solve a specific design problem. This experience is not available to novices in the design and programming fields. Reading documentations of the design patterns from their catalogues is almost the only way that could be followed by novices to take the advantages of applying design patterns solutions to their design problems. This paper investigates the involvement of a rule-based system to assist novices in exploring their design problems. The developed system operates by the dependence on asking the user some questions through which the system can notice the similarities between the current problem and one of the previously solved problems using design patterns. As a result, the developed system, by answering the questions, can recognize a specific suitable design pattern to solve a specific design problem. Throughout the paper, ten design patterns are selected as a representative sample to conduct the investigation.


Design patterns, Novice, Rule based system, Expert Systems.