Answer Set Programming: A Tour from the Basics to Advanced Development Tools and Industrial Applications

  • Nicola Leone
  • Francesco RiccaEmail author
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9203)


Answer Set Programming (ASP) is a powerful rule-based language for knowledge representation and reasoning that has been developed in the field of logic programming and nonmonotonic reasoning. After more than twenty years from the introduction of ASP, the theoretical properties of the language are well understood and the solving technology has become mature for practical applications. In this paper, we first present the basics of the ASP language, and we then concentrate on its usage for knowledge representation and reasoning in real-world contexts. In particular, we report on the development of some industry-level applications with the ASP system DLV, and we illustrate two advanced development tools for ASP, namely ASPIDE and JDLV, which speed-up and simplify the implementation of applications.


Logic Program Business Intelligence Travel Agency Contact Center Weak Constraint 
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.
    Ambroz, T., Charwat, G., Jusits, A., Wallner, J.P., Woltran, S.: ARVis: visualizing relations between answer sets. In: Cabalar, P., Son, T.C. (eds.) LPNMR 2013. LNCS, vol. 8148, pp. 73–78. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  2. 2.
    Balduccini, M., Gelfond, M., Watson, R., Nogueira, M.: The USA-Advisor: a case study in answer set planning. In: Eiter, T., Faber, W., Truszczyński, M. (eds.) LPNMR 2001. LNCS (LNAI), vol. 2173, pp. 439–442. Springer, Heidelberg (2001) Google Scholar
  3. 3.
    Baral, C.: Knowledge Representation Reasoning and Declarative Problem Solving. CUP, New York (2003)CrossRefzbMATHGoogle Scholar
  4. 4.
    Baral, C., Gelfond, M.: Reasoning agents in dynamic domains. In: Minker, J. (ed.) Logic-Based Artificial Intelligence, pp. 257–279. Kluwer, USA (2000)CrossRefGoogle Scholar
  5. 5.
    Baral, C., Uyan, C.: Declarative specification and solution of combinatorial auctions using logic programming. In: Eiter, T., Faber, W., Truszczyński, M. (eds.) LPNMR 2001. LNCS (LNAI), vol. 2173, pp. 186–199. Springer, Heidelberg (2001) Google Scholar
  6. 6.
    Bardadym, V.A.: Computer-aided school and university timetabling: the new wave. In: Burke, E.K., Ross, P. (eds.) PATAT 1995. LNCS, vol. 1153, pp. 22–45. Springer, Heidelberg (1996) CrossRefGoogle Scholar
  7. 7.
    Bertossi, L., Hunter, A., Schaub, T. (eds.): Inconsistency Tolerance. LNCS, vol. 3300. Springer, Heidelberg (2005) zbMATHGoogle Scholar
  8. 8.
    Brain, M., Gebser, M., Pührer, J., Schaub, T., Tompits, H., Woltran, S.: That is illogical captain. the debugging support tool spock for answer-set programs: system description. In: Vos, M.D., Schaub, T., (eds.) SEA 2007 (2007)Google Scholar
  9. 9.
    Bravo, L., Bertossi, L.: Logic programming for consistently querying data integration systems. In: IJCAI-2003, pp. 10–15 (2003)Google Scholar
  10. 10.
    Brewka, G., Coradeschi, S., Perini, A., Traverso, P. (eds.): ECAI 2006, 29 - September 1, 2006, Riva del Garda, Italy, Including PAIS 2006, FAIS, vol. 141. IOS Press (2006)Google Scholar
  11. 11.
    Brewka, G., Eiter, T., Truszczynski, M.: Answer set programming at a glance. Commun. ACM 54(12), 92–103 (2011)CrossRefGoogle Scholar
  12. 12.
    Buccafurri, F., Leone, N., Rullo, P.: Enhancing disjunctive datalog by constraints. IEEE TKDE 12(5), 845–860 (2000)Google Scholar
  13. 13.
    Calimeri, F., Ianni, G., Ricca, F.: The third open answer set programming competition. TPLP 14(1), 117–135 (2014)Google Scholar
  14. 14.
    Calimeri, F., Leone, N., Ricca, F., Veltri, P.: A visual tracer for DLV. In: Proceedings of SEA 2009, Potsdam, Germany, September 2009Google Scholar
  15. 15.
    Castellani, M., Mussoni, M.: An economic analysis of tourism contracts: allotment and free sale*. In: Matia, Á., Nijkamp, P., Neto, P. (eds.) Advances in Modern Tourism Research, pp. 51–85. Physica-Verlag, Heidelberg (2007)Google Scholar
  16. 16.
    Dell’Armi, T., Faber, W., Ielpa, G., Leone, N., Pfeifer, G.: Aggregate functions in disjunctive logic programming: semantics, complexity, and implementation in DLV. In: IJCAI 2003, Acapulco, Mexico, pp. 847–852, August 2003Google Scholar
  17. 17.
    Eclipse: Eclipse (2001).
  18. 18.
    Eiter, T., Faber, W., Leone, N., Pfeifer, G.: Declarative problem-solving using the DLV system. In: Minker, J. (ed.) Logic-Based Artificial Intelligence, pp. 79–103. Kluwer, USA (2000)CrossRefGoogle Scholar
  19. 19.
    Eiter, T., Gottlob, G., Mannila, H.: Disjunctive datalog. ACM TODS 22(3), 364–418 (1997)CrossRefGoogle Scholar
  20. 20.
    Faber, W., Leone, N., Pfeifer, G.: Recursive aggregates in disjunctive logic programs: semantics and complexity. In: Alferes, J.J., Leite, J. (eds.) JELIA 2004. LNCS (LNAI), vol. 3229, pp. 200–212. Springer, Heidelberg (2004) CrossRefGoogle Scholar
  21. 21.
    Faber, W., Leone, N., Pfeifer, G.: Semantics and complexity of recursive aggregates in answer set programming. AI 175(1), 278–298 (2011). Special Issue: John McCarthy’s LegacyMathSciNetzbMATHGoogle Scholar
  22. 22.
    Febbraro, O., Grasso, G., Leone, N., Ricca, F.: JASP: a framework for integrating answer set programming with Java. In: Proceedings of KR2012. AAAI Press (2012)Google Scholar
  23. 23.
    Febbraro, O., Leone, N., Reale, K., Ricca, F.: Unit testing in aspide. CoRR abs/1108.5434
  24. 24.
    Febbraro, O., Reale, K., Ricca, F.: ASPIDE: integrated development environment for answer set programming. In: Delgrande, J.P., Faber, W. (eds.) LPNMR 2011. LNCS (LNAI), vol. 6645, pp. 317–330. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  25. 25.
    Friedrich, G., Ivanchenko, V.: Diagnosis from first principles for workflow executions. Technical report, Alpen Adria University, Applied Informatics, Klagenfurt, Austria (2008).
  26. 26.
    Furche, T., Gottlob, G., Grasso, G., Guo, X., Orsi, G., Schallhart, C.: Opal: automated form understanding for the deep web. In: WWW (2012)Google Scholar
  27. 27.
    Garro, A., Palopoli, L., Ricca, F.: Exploiting agents in e-learning and skills management context. AI Commun. 19(2), 137–154 (2006)MathSciNetGoogle Scholar
  28. 28.
    Gelfond, M., Leone, N.: Logic programming and knowledge representation - the A-Prolog perspective. AI 138(1–2), 3–38 (2002)MathSciNetzbMATHGoogle Scholar
  29. 29.
    Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In: Kowalski, R.A., Bowen, K.A. (eds.) ICLP/SLP 1988, pp. 1070–1080. MIT Press, Cambridge (1988)Google Scholar
  30. 30.
    Gelfond, M., Lifschitz, V.: Classical negation in logic programs and disjunctive databases. NGC 9, 365–385 (1991)CrossRefzbMATHGoogle Scholar
  31. 31.
    Grasso, G., Leone, N., Manna, M., Ricca, F.: Logic Programming, Knowledge Representation, and Nonmonotonic Reasoning: Essays in Honor of M. Gelfond. LNAI, vol. 6565. Springer, Heidelberg (2011) Google Scholar
  32. 32.
    Leone, N., Gottlob, G., Rosati, R., Eiter, T., Faber, W., Fink, M., Greco, G., Ianni, G., Kałka, E., Lembo, D., Lenzerini, M., Lio, V., Nowicki, B., Ruzzi, M., Staniszkis, W., Terracina, G.: The INFOMIX system for advanced integration of incomplete and inconsistent data. In: SIGMOD 2005, pp. 915–917. ACM Press, June 2005Google Scholar
  33. 33.
    Leone, N., Pfeifer, G., Faber, W., Eiter, T., Gottlob, G., Perri, S., Scarcello, F.: The DLV system for knowledge representation and reasoning. ACM TOCL 7(3), 499–562 (2006)MathSciNetCrossRefGoogle Scholar
  34. 34.
    Lifschitz, V.: Answer set planning. In: Schreye, D.D. (ed.) ICLP 1999, pp. 23–37. The MIT Press, Las Cruces (1999)Google Scholar
  35. 35.
    Manna, M., Ricca, F., Terracina, G.: Consistent query answering via ASP from different perspectives: theory and practice. TPLP 13(2), 227–252 (2013)MathSciNetzbMATHGoogle Scholar
  36. 36.
    Marek, V.W., Truszczyński, M.: Stable models and an alternative logic programming paradigm. CoRR cs.LO/9809032 (1998)
  37. 37.
    Naveh, Y., Richter, Y., Altshuler, Y., Gresh, D.L., Connors, D.P.: Workforce optimization: identification and assignment of professional workers using constraint programming. IBM J. Res. Dev. 51(3.4), 263–279 (2007)CrossRefGoogle Scholar
  38. 38.
    Niemelä, I.: Logic programs with stable model semantics as a constraint programming paradigm. In: Proceedings of the Workshop on Computational Aspects of Nonmonotonic Reasoning, Trento, Italy, pp. 72–79 (1998)Google Scholar
  39. 39.
    Nogueira, M., Balduccini, M., Gelfond, M., Watson, R., Barry, M.: An A-Prolog decision support system for the space shuttle. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, pp. 169–183. Springer, Heidelberg (2001) CrossRefGoogle Scholar
  40. 40.
    Oracle: JSR 317: JavaTM Persistence 2.0 (2009).
  41. 41.
    Ricca, F., Dimasi, A., Grasso, G., Ielpa, S.M., Iiritano, S., Manna, M., Leone, N.: A logic-based system for e-Tourism. FI 105(1–2), 35–55 (2010)MathSciNetGoogle Scholar
  42. 42.
    Ricca, F., Grasso, G., Alviano, M., Manna, M., Lio, V., Iiritano, S., Leone, N.: Team-building with answer set programming in the gioia-tauro seaport. TPLP. CUP 12(3), 361–381 (2012). CUPMathSciNetzbMATHGoogle Scholar
  43. 43.
    Terracina, G., Leone, N., Lio, V., Panetta, C.: Experimenting with recursive queries in database and logic programming systems. TPLP 8, 129–165 (2008)MathSciNetzbMATHGoogle Scholar
  44. 44.
    Terracina, G., Martello, A., Leone, N.: Logic-based techniques for data cleaning: an application to the italian national healthcare system. In: Cabalar, P., Son, T.C. (eds.) LPNMR 2013. LNCS, vol. 8148, pp. 524–529. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  45. 45.
    Wittocx, J.: IDPDraw, a tool used for visualizing answer sets (since 2009).

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Department of Mathematics and Computer ScienceUniversity of CalabriaRendeItaly

Personalised recommendations