Design Patterns for Description-Logic Programs

  • L. Cruz-Filipe
  • G.  Gaspar
  • I. Nunes
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 454)


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.

We also discuss some limitations of this formalism, examining some usual patterns in other programming paradigms that have no parallel in Mdl-programs.


Knowledge Base Logic Program Design Pattern Description Logic Travel Agency 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  2. 2.
    Adams, M., Coplien, J., Gamoke, R., Hanmer, R., Keeve, F., Nicodemus, K.: Fault-tolerant telecommunication system patterns. In: Vlissides, J.M., Coplien, J.O., Kerth, K.L. (eds.) Pattern Languages of Program Design, vol. 2, pp. 549–562. Addison-Wesley Longman Publishing Co. Inc., Boston (1996)Google Scholar
  3. 3.
    Erl, T.: SOA Design Patterns. Prentice Hall, New York (2009)Google Scholar
  4. 4.
    Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley, Boston (2002)Google Scholar
  5. 5.
    Larman, C.: Applying UML and Patterns, 3rd edn. Prentice-Hall, Upper Saddle River (2004)Google Scholar
  6. 6.
    Mattson, T., Sanders, B., Massingill, B.: Patterns for Parallel Programming. Addison-Wesley, Reading (2005)Google Scholar
  7. 7.
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Upper Saddle River (1997)zbMATHGoogle Scholar
  8. 8.
    Schmidt, D., Stal, M., Rohnert, H., Buschmann, F.: Pattern-Oriented Software Architecture - Patterns for Concurrent and Networked Objects. Wiley, New York (2000)Google Scholar
  9. 9.
    Antoy, S., Hanus, M.: Functional logic design patterns. In: Hu, Z., Rodríguez-Artalejo, M. (eds.) FLOPS 2002. LNCS, vol. 2441, pp. 67–87. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    Gibbons, J.: Design patterns as higher-order datatype-generic programs. In: Hinze, R. (ed.) Proceedings of WGP 2006, pp. 1–12. ACM (2006)Google Scholar
  11. 11.
    Norvig, P.: Design patterns in dynamic programming. Tutorial slides presented at Object World, Boston, MA, May 1996.
  12. 12.
    Sterling, L.: Patterns for prolog programming. In: Kakas, A.C., Sadri, F. (eds.) Computational Logic: Logic Programming and Beyond. LNCS (LNAI), vol. 2407, pp. 374–401. Springer, Heidelberg (2002) CrossRefGoogle Scholar
  13. 13.
    Cruz-Filipe, L., Henriques, R., Nunes, I.: Description logics, rules and multi-context systems. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) LPAR-19 2013. LNCS, vol. 8312, pp. 243–257. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  14. 14.
    Eiter, T., Ianni, G., Lukasiewicz, T., Schindlauer, R., Tompits, H.: Combining answer set programming with description logics for the semantic web. Artif. Intell. 172(12–13), 1495–1539 (2008)CrossRefzbMATHMathSciNetGoogle Scholar
  15. 15.
    Cruz-Filipe, L., Nunes, I., Gaspar, G.: Patterns for interfacing between logic programs and multiple ontologies. In: Filipe, J., Dietz, J. (eds.) KEOD 2013, pp. 58–69. INSTICC (2013)Google Scholar
  16. 16.
    Gangemi, A., Presutti, V.: Ontology design patterns. In: Staab, S., Studer, R. (eds.) Handbook on Ontologies. International Handbooks on Information Systems, 2nd edn, pp. 221–243. Springer, Heidelberg (2009) Google Scholar
  17. 17.
    Eiter, T., Ianni, G., Lukasiewicz, T., Schindlauer, R.: Well-founded semantics for description logic programs in the semantic Web. ACM Trans. Comput. Logic 12(2), 1–41 (2011). Article 11CrossRefMathSciNetGoogle Scholar
  18. 18.
    Kifer, M., Boley, H. (eds.): RIF overview. W3C Working Group Note, June 2010.
  19. 19.
    Bruijn, J.D., Ehrig, M., Feier, C., Martíns-Recuerda, F., Scharffe, F., Weiten, M.: Ontology mediation, merging, and aligning. In: Davies, J., Studer, R., Warren, P. (eds.) Semantic Web Technologies: Trends and Research in Ontology-based Systems. Wiley, Chichester (2006)Google Scholar
  20. 20.
    Grau, B., Parsia, B., Sirin, E.: Combining OWL ontologies using e-connections. J. Web Semant. 4(1), 40–59 (2005)Google Scholar
  21. 21.
    Eiter, T., Ianni, G., Schindlauer, R., Tompits, H.: Effective integration of declarative rules with external evaluations for semantic-web reasoning. In: Sure, Y., Domingue, J. (eds.) ESWC 2006. LNCS, vol. 4011, pp. 273–287. Springer, Heidelberg (2006) CrossRefGoogle Scholar
  22. 22.
    Brewka, G., Eiter, T.: Equilibria in heterogeneous nonmonotonic multi-context systems. In: Proceedings of AAAI 2007, pp. 385–390. AAAI Press (2007)Google Scholar
  23. 23.
    Wang, K., Antoniou, G., Topor, R., Sattar, A.: Merging and aligning ontologies in dl-programs. In: Adi, A., Stoutenburg, S., Tabet, S. (eds.) RuleML 2005. LNCS, vol. 3791, pp. 160–171. Springer, Heidelberg (2005) CrossRefGoogle Scholar
  24. 24.
    Henriques, R.: Integration of ontologies with programs based on rules. Master’s thesis, FCUL, November 2013Google Scholar
  25. 25.
    Eiter, T., Ianni, G., Schindlauer, R., Tompits, H.: Towards efficient evaluation of HEX programs. In: Dix, J., Hunter, A. (eds.) Proceedings of NMR 2006, ASP Track, pp. 40–46. Institut für Informatik, TU Clausthal, Germany (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  1. 1.Department of Mathematics and Computer ScienceUniversity of Southern DenmarkOdenseDenmark
  2. 2.Faculdade de Ciências da Universidade de LisboaLisboaPortugal
  3. 3.LabMAgLisboaPortugal

Personalised recommendations