100 likes | 277 Views
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. Software Developer with Design Problem.
E N D
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 (c) Steffen Zschaler
Software Developer with Design Problem Motivation But: Which Pattern Fits? Design Patterns How to solve? (c) Steffen Zschaler
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 (c) Steffen Zschaler
DesignPattern solves * DPProblem decouples AlgorithmDecoupling Algorithm Modelling Design-Pattern Intent * DPProblem ProblemConcept Constraint (c) Steffen Zschaler
Modelling Design-Pattern Intent (2)Problem Hierarchy • Based on Intent descriptions from GoF catalogue (c) Steffen Zschaler
solves * * DesignPattern DPProblem ProblemConcept Constraint 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.” (retrieve (?x ) (and (?x |DesignPattern|) (?x ?p |isSolutionTo|) (?p ?a |varies|) (?a |Algortihm|) )) nRQL (c) Steffen Zschaler
Searching for Patterns (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? (c) Steffen Zschaler
Discussion • Thank you for your attention! • Questions welcome! (c) Steffen Zschaler