Design patterns have proven to be important building blocks and means of reuse in software design. However, the mere number of available design patterns complicates the decision-making which design pattern to choose and demands tools assisting in this process. We hence propose a knowledge-based formal representation of design patterns, a representation that is accessible by tools.
Existing approaches to formalizing design patterns generally cover solely the formal description of the structure of design patterns. However, an important part of a design pattern description is the intent section, because the intent describes what the design pattern does and which design problems a pattern addresses.
In this work, we develop a novel approach of formalizing design patterns by their intent. The formal representation is based on OWL, the web ontology language. The developed ontology can serve as support for the decision-making of choosing the right design pattern. We furthermore develop a tool that uses the ontology as a knowledge-base. The tool allows the user to visually describe design problems and gives suggestions of design patterns that solve a given design problem.
Inhaltsverzeichnis (Table of Contents)
- Abstract
- Acknowledgements
- Introduction
- Related Work
- Formalizing Design Patterns by Means of Ontologies
- Ontology for Design Patterns
- Tool for Design Pattern Recommendation
- Evaluation
- Conclusion
- Bibliography
Zielsetzung und Themenschwerpunkte (Objectives and Key Themes)
This thesis aims to develop a knowledge-based formal representation of design patterns, specifically focusing on their intent, to assist in the selection process for appropriate design patterns. The primary objective is to address the challenges associated with choosing the right design pattern from a vast array of available options.- Formalizing design patterns by intent
- Developing an ontology for design patterns using OWL
- Building a tool that utilizes the ontology to recommend design patterns based on user-defined design problems
- Evaluating the effectiveness of the ontology and tool
- Contributing to the advancement of knowledge-based approaches in software design
Zusammenfassung der Kapitel (Chapter Summaries)
- Introduction: This chapter provides an overview of design patterns, their importance in software design, and the challenges associated with selecting the right pattern. It also outlines the objectives and methodology of the thesis.
- Related Work: This chapter explores existing approaches to formalizing design patterns, highlighting their limitations and identifying the need for a more comprehensive representation that incorporates the intent of patterns. Existing approaches to formalizing design patterns generally cover solely the formal description of the structure of design patterns. However, an important part of a design pattern description is the intent section, because the intent describes what the design pattern does and which design problems a pattern addresses. This chapter analyzes and contrasts different approaches to formalizing design patterns, identifying the strengths and weaknesses of each method. It lays the groundwork for the proposed approach by highlighting the need for a more comprehensive representation of design patterns.
- Formalizing Design Patterns by Means of Ontologies: This chapter presents the proposed approach to formalizing design patterns using ontologies. It discusses the benefits of using ontologies for knowledge representation and how they can be applied to design patterns. The approach is based on OWL, a web ontology language, and aims to capture the intent of design patterns by defining concepts and relationships between them. The chapter provides a detailed explanation of the chosen ontology and its structure. This chapter delves into the concept of formalizing design patterns through ontologies, focusing on the benefits of using ontologies for knowledge representation. It details the specific approach employed in this thesis, which utilizes OWL (Web Ontology Language) to capture the intent of design patterns. The chapter explains the ontology's structure and its ability to represent concepts and relationships within the design pattern domain.
- Ontology for Design Patterns: This chapter presents the ontology developed for representing design patterns. It defines the key concepts, properties, and relationships within the ontology, illustrating how it captures the intent of design patterns. The ontology serves as a knowledge base for the tool developed in the subsequent chapter. This chapter describes the development of a dedicated ontology for design patterns. It defines core concepts, properties, and relationships within this ontology, demonstrating how it captures the intent of design patterns. This ontology is crucial as it forms the knowledge base for the tool developed later in the thesis.
- Tool for Design Pattern Recommendation: This chapter describes the development of a tool that uses the ontology as a knowledge base to recommend design patterns. It explains the tool's functionality, including how it allows users to visually describe design problems and receive suggestions for relevant design patterns. This chapter details the development of a tool designed to leverage the previously defined ontology. The tool's functionality is explained, including its ability to visually depict design problems input by users and generate recommendations for applicable design patterns. This tool demonstrates the practical application of the ontology and its potential for assisting in the selection of design patterns.
- Evaluation: This chapter evaluates the effectiveness of the ontology and tool. It presents the evaluation methodology and the results obtained. The chapter discusses the limitations of the approach and suggests future research directions. This chapter focuses on evaluating the effectiveness of the developed ontology and tool. It outlines the methodology used for evaluation and presents the results obtained. This chapter also acknowledges the limitations of the approach and proposes potential avenues for future research.
Schlüsselwörter (Keywords)
This work focuses on the formalization of design patterns by means of ontologies, using OWL as a representation language. The core themes include the development of an ontology to represent the intent of design patterns and the creation of a tool that utilizes this ontology to recommend suitable design patterns for specific design problems. The research explores the application of knowledge-based approaches in software design, with the aim of improving the decision-making process for choosing appropriate design patterns.- Citation du texte
- Holger Kampffmeyer (Auteur), 2007, Formalization of Design Patterns by Means of Ontologies, Munich, GRIN Verlag, https://www.grin.com/document/186288