New Generation Computing

, Volume 37, Issue 1, pp 29–65 | Cite as

Fostering the Use of Declarative Formalisms for Real-World Applications: The EmbASP Framework

  • Francesco CalimeriEmail author
  • Davide Fuscà
  • Stefano Germano
  • Simona Perri
  • Jessica Zangari
Research Paper


Thanks to a number of efficient implementations, the use of logic formalisms for problem-solving has been increased in several real-world domains. This is the case, for instance, of action languages, such as planning domain definition language (PDDL), or answer set programming (ASP), which is a well-established declarative problem-solving paradigm that became widely used in AI and recognized as a powerful tool for knowledge representation and reasoning (KRR). As the application scenarios widened, the need for proper development tools and interoperability mechanisms for easing interaction and integration between declarative logic-based systems and external systems clearly emerged. In this work, we present a framework for integrating the KRR capabilities of, possibly more than one, declarative formalisms into generic applications developed by means of different programming paradigms. We show the use of the framework by illustrating proper specializations for two formalisms, namely ASP and PDDL, along with specializations for some relevant systems over different platforms, including the mobile setting.


Artificial intelligence Declarative programming Answer set programming Software engineering Applications 



Francesco Calimeri has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Skodowska-Curie grant agreement No. 690974 for the project “MIREL: MIning and REasoning with Legal texts”.


  1. 1.
    Adrian, W.T., Alviano, M., Calimeri, F., Cuteri, B., Dodaro, C., Faber, W., Fuscà, D., Leone, N., Manna, M., Perri, S., Ricca, F., Veltri, P., Zangari, J.: The ASP system DLV: advancements and applications. KI-Künstliche Intelligenz (2018).
  2. 2.
    Alviano, M., Calimeri, F., Dodaro, C., Fuscà, D., Leone, N., Perri, S., Ricca, F., Veltri, P., Zangari, J.: The ASP system DLV2. In: Balduccini, M., Janhunen, T. (eds.) Logic programming and nonmonotonic reasoning—14th International Conference, LPNMR 2017, Espoo, Finland, July 3–6, 2017, Proceedings, lecture notes in computer science, vol. 10377, pp. 215–221. Springer, Berlin (2017). Google Scholar
  3. 3.
    Alviano, M., Dodaro, C., Leone, N., Ricca, F.: Advances in WASP. In: Calimeri, F., Ianni, G., Truszczynski, M. (eds.) Logic programming and nonmonotonic reasoning—13th International Conference, LPNMR 2015, Lexington, KY, USA, September 27–30, 2015. Proceedings, LNCS, vol. 9345, pp. 40–54. Springer, Berlin (2015). Google Scholar
  4. 4.
    Baral, C.: Knowledge representation, reasoning and declarative problem solving. Cambridge University Press, Cambridge (2003)CrossRefzbMATHGoogle Scholar
  5. 5.
    Brewka, G., Eiter, T., Truszczynski, M.: Answer set programming at a glance. Commun. ACM 54(12), 92–103 (2011)CrossRefGoogle Scholar
  6. 6.
    Buccafurri, F., Leone, N., Rullo, P.: Strong and weak constraints in disjunctive datalog. In: Dix, J., Furbach, U., Nerode, A. (eds.) Proceedings of the 4th international conference on logic programming and non-monotonic reasoning (LPNMR’97), Lecture Notes in AI (LNAI), vol. 1265, pp. 2–17. Springer, Dagstuhl, Germany (1997)Google Scholar
  7. 7.
    Calimeri, F., Faber, W., Gebser, M., Ianni, G., Kaminski, R., Krennwallner, T., Leone, N., Ricca, F., Schaub, T.: Asp-core-2: input language format (2012)Google Scholar
  8. 8.
    Calimeri, F., Fuscà, D., Germano, S., Perri, S., Zangari, J.: Embedding ASP in mobile systems: discussion and preliminary implementations. In: Proceedings of the eighth workshop on answer set programming and other computing paradigms (ASPOCP 2015), workshop of the 31st International Conference on Logic Programming (ICLP 2015) (2015)Google Scholar
  9. 9.
    Calimeri, F., Fuscà, D., Perri, S., Zangari, J.: I-DLV: the new intelligent grounder of DLV. Intelligenza Artificiale 11(1), 5–20 (2017). CrossRefGoogle Scholar
  10. 10.
    Calimeri, F., Gebser, M., Maratea, M., Ricca, F.: Design and results of the fifth answer set programming competition. Artif. Intell. 231, 151–181 (2016). MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Calimeri, F., Germano, S., Ianni, G., Pacenza, F., Perri, S., Zangari, J.: Integrating rule-based AI tools into mainstream game development. In: Benzmüller, C., Ricca, F., Parent, X., Roman, D. (eds.) Rules and Reasoning—Second International Joint Conference, RuleML+RR 2018, Luxembourg, September 18–21, 2018, Proceedings, lecture notes in computer science, vol. 11092, pp. 310–317. Springer, Berlin (2018). CrossRefGoogle Scholar
  12. 12.
    De Pooter, S., Wittocx, J., Denecker, M.: A prototype of a knowledge-based programming environment. In: Applications of declarative programming and knowledge management, Springer, pp. 279–286 (2013)Google Scholar
  13. 13.
    Edelkamp, S., Hoffmann, J.: Pddl2. 2: The language for the classical part of the 4th international planning competition. 4th International Planning Competition (IPC04), at ICAPS04 (2004)Google Scholar
  14. 14.
    Eiter, T., Faber, W., Leone, N., Pfeifer, G.: Declarative problem-solving using the dlv system. In: Logic-based artificial intelligence, Springer, pp. 79–103 (2000)Google Scholar
  15. 15.
    Eiter, T., Ianni, G., Krennwallner, T.: answer set programming: a primer. Reasoning web. Semantic technologies for information systems, 5th international summer school—tutorial lectures, pp. 40–110. Brixen-Bressanone, Italy (2009)Google Scholar
  16. 16.
    Eiter, T., Redl, C., Schüller, P.: Problem solving using the HEX family. In: Beierle, C., Brewka, G., Thimm, M. (eds.) Computational models of rationality, essays dedicated to Gabriele Kern–Isberner on the occasion of her 60th birthday, pp. 150–174. College Publications (2016)Google Scholar
  17. 17.
  18. 18.
    Erdem, E., Gelfond, M., Leone, N.: Applications of answer set programming. AI Mag. 37(3), 53–68 (2016)CrossRefGoogle Scholar
  19. 19.
    Faber, W., Leone, N., Pfeifer, G.: Recursive aggregates in disjunctive logic programs: semantics and complexity. In: Alferes, J.J., Leite, J. (eds.) Proceedings of the 9th European conference on artificial intelligence (JELIA 2004), Lecture Notes in AI (LNAI), vol. 3229, vol. 3229, pp. 200–212. Springer, Berlin (2004)Google Scholar
  20. 20.
    Febbraro, O., Leone, N., Grasso, G., Ricca, F.: JASP: A framework for integrating answer set programming with java. In: Brewka, G., Eiter, T., McIlraith, S.A. (eds.) Principles of knowledge representation and reasoning: proceedings of the thirteenth international conference, KR 2012, Rome, Italy, June 10–14, 2012. AAAI Press (2012).
  21. 21.
    Fikes, R.E., Nilsson, N.J.: Strips: a new approach to the application of theorem proving to problem solving. Artif. Intell. 2(3–4), 189–208 (1971)CrossRefzbMATHGoogle Scholar
  22. 22.
    Fox, M., Long, D.: Pddl2. 1: an extension to PDDL for expressing temporal planning domains. J. Artif. Intell. Res. (JAIR) 20, 61–124 (2003)CrossRefzbMATHGoogle Scholar
  23. 23.
    Frhwirth, T.: Constraint handling rules, 1st edn. Cambridge University Press, New York (2009)CrossRefGoogle Scholar
  24. 24.
    Fuscà, D., Germano, S., Zangari, J., Anastasio, M., Calimeri, F., Perri, S.: A framework for easing the development of applications embedding answer set programming. In: Proceedings of the 18th international symposium on principles and practice of declarative programming, Edinburgh, UK, pp. 38–49 (2016)Google Scholar
  25. 25.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Addison-Wesley, Boston (1994)zbMATHGoogle Scholar
  26. 26.
    Gebser, M., Kaminski, R., Kaufmann, B., Ostrowski, M., Schaub, T., Schneider, M.: Potassco: the potsdam answer set solving collection. AI Commun. 24(2), 107–124 (2011)MathSciNetzbMATHGoogle Scholar
  27. 27.
    Gebser, M., Kaminski, R., Kaufmann, B., Schaub, T.: Clingo = ASP + control: preliminary report. CoRR abs/1405.3694. (2014)
  28. 28.
    Gebser, M., Maratea, M., Ricca, F.: What’s hot in the answer set programming competition. In: Schuurmans, D., Wellman, M.P. (eds.) Proceedings of the Thirtieth AAAI conference on artificial intelligence, February 12–17, Phoenix, Arizona, USA., pp. 4327–4329. AAAI Press (2016).
  29. 29.
    Gelfond, M., Lifschitz, V.: Classical negation in logic programs and disjunctive databases. New Gener. Comput. 9, 365–385 (1991)CrossRefzbMATHGoogle Scholar
  30. 30.
    Gerevini, A., Haslum, P., Long, D., Saetti, A., Dimopoulos, Y.: Deterministic planning in the fifth international planning competition: PDDL3 and experimental evaluation of the planners. Artif. Intell. 173(5–6), 619–668 (2009). MathSciNetCrossRefzbMATHGoogle Scholar
  31. 31.
    Germano, S., Calimeri, F., Palermiti, E.: Loide: A web-based IDE for logic programming preliminary report. In: Calimeri, F., Hamlen, K.W., Leone, N. (eds.) Practical aspects of declarative languages—20th international symposium, PADL 2018, Los Angeles, CA, USA, January 8–9, Proceedings, lecture notes in computer science, vol. 10702, pp. 152–160. Springer (2018).
  32. 32.
    Ghallab, M., Howe, A., Knoblock, C., McDermott, D., Ram, A., Veloso, M., Weld, D., Wilkins, D.: PDDL—the planning domain definition language. Tech. rep., Yale Center for Computational Vision and Control, New Haven, CT, USA (1998).
  33. 33.
    Gupta, N., Nau, D.S.: On the complexity of blocks-world planning. Artif. Intell. 56(2–3), 223–254 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  34. 34.
    Kovacs, D.L.: Bnf definition of pddl 3.1. Unpublished manuscript from the IPC-2011 website (2011)Google Scholar
  35. 35.
    Kowalski, R.A.: The early years of logic programming. Commun. ACM 31(1), 38–43 (1988). CrossRefGoogle Scholar
  36. 36.
    Leone, N., Pfeifer, G., Faber, W., Eiter, T., Gottlob, G., Perri, S., Scarcello, F.: The DLV system for knowledge representation and reasoning. ACM Trans. Comput. Logic 7(3), 499–562 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  37. 37.
    Lifschitz, V.: Answer set planning. In: Schreye, D.D. (ed.) Proceedings of the 16th international conference on logic programming (ICLP’99), pp. 23–37. The MIT Press, Las Cruces (1999)Google Scholar
  38. 38.
    Lloyd, J.W.: Foundations of logic programming, 2nd edn. Springer, Secaucus (1993)zbMATHGoogle Scholar
  39. 39.
    Long, D., Fox, M.: The 3rd international planning competition: results and analysis. J. Artif. Intell. Res. (JAIR) 20, 1–59 (2003)CrossRefzbMATHGoogle Scholar
  40. 40.
    Marek, V.W., Truszczyński, M.: Stable models and an alternative logic programming paradigm. In: Apt, K.R., Marek, V.W., Truszczyński, M., Warren, D.S. (eds.) The logic programming paradigm—a 25-year perspective, pp. 375–398. Springer, Berlin (1999)CrossRefGoogle Scholar
  41. 41.
    Niemelä, I.: Logic programming with stable model semantics as constraint programming paradigm. Ann. Math. Artif. Intell. 25(3–4), 241–273 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  42. 42.
    Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Solving sat and sat modulo theories: from an abstract Davis–Putnam–Logemann–Loveland procedure to dpll(t). J. ACM 53(6), 937–977 (2006). MathSciNetCrossRefzbMATHGoogle Scholar
  43. 43.
    Potassco, the potsdam answer set solving collection. (2017)
  44. 44.
    Przymusinski, T.C.: Stable semantics for disjunctive programs. New Gener. Comput. 9, 401–424 (1991)CrossRefzbMATHGoogle Scholar
  45. 45.
    Radziszowski, S.P.: Small ramsey numbers. Electr. J. Combinatorics, 1 (1994). Revision 9: July 15, 2002Google Scholar
  46. 46.
    Rath, J., Redl, C.: Integrating answer set programming with object-oriented languages. In: International symposium on practical aspects of declarative languages, pp. 50–67. Springer (2017)Google Scholar
  47. 47.
    Ricca, F.: The DLV Java Wrapper. In: de Vos, M., Provetti, A. (eds.) Proceedings ASP03—answer set programming: advances in theory and implementation, pp. 305–316. Messina, Italy. (2003)
  48. 48.
    Samulowitz, H., Memisevic, R.: Learning to solve QBF. In: Proceedings of the twenty-second AAAI conference on artificial intelligence, July 22–26, 2007, Vancouver, British Columbia, Canada, pp. 255–260. AAAI Press (2007).
  49. 49.
    Schüller, P., Weinzierl, A.: Answer set application programming: a case study on tetris. In: Vos, M.D., Eiter, T., Lierler, Y., Toni, F. (eds.) Proceedings of the technical communications of the 31st international conference on logic programming (ICLP 2015), Cork, Ireland, August 31–September 4, 2015., CEUR Workshop Proceedings, vol. 1433. (2015). Accessed July 2018
  50. 50.
    Solver.Planning.Domains. (2017). Accessed July 2018
  51. 51.
    Srivastava, B., Bigus, J.P., Schlosnagle, D.A.: Bringing planning to autonomic applications with ABLE. In: 1st international conference on autonomic computing (ICAC) 2004, 17–19 May, New York, NY, USA, pp. 154–161 (2004).
  52. 52.
    Thimm, M.: Tweety: A comprehensive collection of java libraries for logical aspects of artificial intelligence and knowledge representation. In: Baral, C., Giacomo, G.D., Eiter, T. (eds.) Principles of knowledge representation and reasoning: proceedings of the fourteenth international conference, KR 2014, Vienna, Austria, July 20–24. AAAI Press. (2014)
  53. 53.
    Van Emden, M.H., Kowalski, R.A.: The semantics of predicate logic as a programming language. J. ACM 23(4), 733–742 (1976). MathSciNetCrossRefzbMATHGoogle Scholar
  54. 54.
    Warmer, J.B., Kleppe, A.G.: The object constraint language: precise modeling with Uml (Addison-Wesley Object Technology Series). Addison-Wesley Professional. (1998). Accessed July 2018
  55. 55.
    Younes, H.L., Littman, M.L.: Ppddl1. 0: an extension to pddl for expressing planning domains with probabilistic effects. Techn. Rep. CMU-CS-04-162 (2004)Google Scholar

Copyright information

© Ohmsha, Ltd. and Springer Japan KK, part of Springer Nature 2018

Authors and Affiliations

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

Personalised recommendations