Finding the Pattern You Need: The Design Pattern Intent Ontology Holger Kampffmeyer, Steffen Zschaler Technische Universität Dresden, Germany 04 October, 2007
Outline Motivation Modelling Design-Pattern Intent Searching for Patterns Conclusions TU Dresden, 04.10.2007 (c) Steffen Zschaler
Motivation But: Which Pattern Fits? Design Patterns Software Developer with Design Problem But: Which Pattern Fits? Design Patterns How to solve? TU Dresden, 04.10.2007 (c) Steffen Zschaler
Need a searchable formalisation of pattern Intent Motivation (2) Pattern catalogues: Rough categorisation No tool support Useful for small collections of patterns only 2. Formal representations of patterns: Good for tool-supported search Focus on structure and behaviour Developers need to search by problem Problems solved by a pattern are described in Intent (mainly) Need a searchable formalisation of pattern Intent TU Dresden, 04.10.2007 (c) Steffen Zschaler
Modelling Design-Pattern Intent DPProblem DesignPattern solves * * DPProblem ProblemConcept AlgorithmDecoupling Algorithm decouples Constraint TU Dresden, 04.10.2007 (c) Steffen Zschaler
Modelling Design-Pattern Intent (2) Problem Hierarchy Based on Intent descriptions from GoF catalogue TU Dresden, 04.10.2007 (c) Steffen Zschaler
Modelling Design-Pattern Intent (3) Ontologies Ontologies allow easy expression of knowledge bases Queries executed by Reasoning Engines “Find all instances of DesignPattern that are a solution to a problem where an algorithm is varied.” DPProblem Constraint ProblemConcept * DesignPattern solves (retrieve (?x ) (and (?x |DesignPattern|) (?x ?p |isSolutionTo|) (?p ?a |varies|) (?a |Algortihm|) )) nRQL TU Dresden, 04.10.2007 (c) Steffen Zschaler
Searching for Patterns TU Dresden, 04.10.2007 (c) Steffen Zschaler
Conclusions & Outlook Presented a new approach to formalise Design Patterns Based on pattern intent Useful for looking up a pattern to solve a design problem Future work Represent more design patterns User study with wizard Is this the right representation of design problems? TU Dresden, 04.10.2007 (c) Steffen Zschaler
Thank you for your attention! Discussion Thank you for your attention! Questions welcome! TU Dresden, 04.10.2007 (c) Steffen Zschaler