Improving Design Patterns by Description Logics: A Use Case with Abstract Factory and Strategy

This paper deals with problems in common design patterns and proposes description-logics-based modeling to remedy these issues. We exploit the TwoUse approach, which integrates OWL-DL, a W3C standard for description logics on the web, and UML-based modeling, to overcome drawbacks of the Strategy Pattern, that are also extensible to the Abstract Factory Pattern in a Model Driven Approach. The result is an OWL-based pattern to be used with design patterns: the Selector Pattern.

[1]  Diego Calvanese,et al.  The Description Logic Handbook , 2007 .

[2]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[3]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[4]  Vladan Devedzic,et al.  A UML Profile for OWL Ontologies , 2004, MDAFA.

[5]  Aldo Gangemi,et al.  Ontology Design Patterns for Semantic Web Content , 2005, SEMWEB.

[6]  Deborah L. McGuinness,et al.  OWL Web ontology language overview , 2004 .

[7]  Pascal Hitzler,et al.  A Metamodel and UML Profile for Rule-Extended OWL DL Ontologies , 2006, ESWC.

[8]  Robert Stevens,et al.  OWL Pizzas: Practical Experience of Teaching OWL-DL: Common Errors & Common Patterns , 2004, EKAW.

[9]  Robert Stevens,et al.  The Manchester OWL Syntax , 2006, OWLED.

[10]  Holger Knublauch,et al.  Ontology-Driven Software Development in the Context of the Semantic Web: An Example Scenario with Protégé/OWL , 2004 .

[11]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[12]  Steffen Staab,et al.  TwoUse: Integrating UML models and OWL ontologies , 2007 .

[13]  Walter F. Tichy,et al.  Zhi#: Programming Language Inherent Support for XML Schema Definition , 2005, ICSE 2005.

[14]  Walter F. Tichy A catalogue of general-purpose software design patterns , 1997, Proceedings of TOOLS USA 97. International Conference on Technology of Object Oriented Systems and Languages.