Design Patterns for Description-Logic Programs

Originally proposed in the mid-90s, design patterns for software development played a key role in object-oriented programming not only in increasing software quality, but also by giving a better understanding of the power and limitations of this paradigm. Since then, several authors have endorsed a similar task for other programming paradigms, in the hope of achieving similar benefits. In this paper we present a set of design patterns for Mdl-programs, a hybrid formalism combining several description logic knowledge bases via a logic program. These patterns are extensively applied in a natural way in a large-scale example that illustrates how their usage greatly simplifies some programming tasks, at the level of both development and extension.

[1]  Peter Norvig,et al.  Design Patterns in Dynamic Programming , 2013 .

[2]  Michael Hanus,et al.  Functional Logic Design Patterns , 2002, FLOPS.

[3]  R. Studer,et al.  Semantic Web Technologies: Trends and Research in Ontology-based Systems , 2006 .

[4]  Aldo Gangemi,et al.  Ontology Design Patterns , 2005 .

[5]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[6]  Jeremy Gibbons,et al.  Design patterns as higher-order datatype-generic programs , 2006, WGP '06.

[7]  Thomas Eiter,et al.  Equilibria in Heterogeneous Nonmonotonic Multi-Context Systems , 2007, AAAI.

[8]  Hans Tompits,et al.  Effective Integration of Declarative Rules with External Evaluations for Semantic-Web Reasoning , 2006, ESWC.

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

[10]  Timothy G. Mattson,et al.  Patterns for parallel programming , 2004 .

[11]  Hans Tompits,et al.  Combining answer set programming with description logics for the Semantic Web , 2004, Artif. Intell..

[12]  Antonis C. Kakas,et al.  Computational Logic: Logic Programming and Beyond , 2002, Lecture Notes in Computer Science.

[13]  Thomas Lukasiewicz,et al.  Well-founded semantics for description logic programs in the semantic web , 2004, TOCL.

[14]  Thomas Erl,et al.  SOA Design Patterns , 2008 .

[15]  Steffen Staab,et al.  International Handbooks on Information Systems , 2013 .

[16]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[17]  Luís Cruz-Filipe,et al.  Description Logics, Rules and Multi-context Systems , 2013, LPAR.

[18]  Luís Cruz-Filipe,et al.  Patterns for Interfacing between Logic Programs and Multiple Ontologies , 2013, KEOD.

[19]  Bijan Parsia,et al.  Combining OWL ontologies using epsilon-Connections , 2006, J. Web Semant..

[20]  Jos de Bruijn,et al.  Ontology Mediation, Merging, and Aligning , 2006 .

[21]  Abdul Sattar,et al.  Merging and Aligning Ontologies in dl-Programs , 2005, RuleML.

[22]  Leon Sterling,et al.  Patterns for Prolog Programming , 2002, Computational Logic: Logic Programming and Beyond.

[23]  Rita Sofia Moreira Henriques,et al.  Integration of ontologies with programs based on rules , 2013 .

[24]  Douglas C. Schmidt,et al.  Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects , 2013 .

[25]  Robert S. Hanmer,et al.  Fault-tolerant telecommunication system patterns , 1996 .