An Application of Declarative Languages in Distributed Architectures: ASP and DALI Microservices.
DOI:
https://doi.org/10.9781/ijimai.2021.02.001Keywords:
Ubiquitous Computing, Answer Set Programming, Intelligent Agents, Knowledge Based Systems, MicroservicesAbstract
In this paper we introduce an approach to the possible adoption of Answer Set Programming (ASP) for the definition of microservices, which are a successful abstraction for designing distributed applications as suites of independently deployable interacting components. Such ASP-based components might be employed in distributed architectures related to Cloud Computing or to the Internet of Things (IoT), where the ASP microservices might be usefully coordinated with intelligent logic-based agents. We develop a case study where we consider ASP microservices in synergy with agents defined in DALI, a well-known logic-based agent-oriented programming language developed by our research group.
Downloads
References
[1] G. Brewka, T. Eiter, M. T. (eds.), “Answer set programming: Special issue,” AI Magazine, vol. 37, no. 3, 2016.
[2] M. Gelfond, V. Lifschitz, “The stable model semantics for logic programming.,” in Logic Programming, Proceedings of the Fifth International Conference and Symposium, Seattle, Washington, August 15-19, 1988 (2 Volumes), vol. 88, 1988, pp. 1070–1080, MIT Press.
[3] M. Gelfond, V. Lifschitz, “Classical negation in logic programs and disjunctive databases,” New generation computing, Springer, vol. 9, no. 3-4, pp. 365–385, 1991, doi: 10.1007/BF03037169.
[4] V. W. Marek, M. Truszczyński, “Stable models and an alternative logic programming paradigm,” in The Logic Programming Paradigm, Springer, 1999, pp. 375–398, doi: 10.1007/978-3-642-60085-2_17.
[5] V. Lifschitz, “Answer set planning,” in Logic Programming: The 1999 International Conference, Las Cruces, New Mexico, USA, November 29 - December 4, 1999, 1999, pp. 23–37, MIT Press.
[6] P. Jamshidi, C. Pahl, N. C. Mendonça, J. Lewis, S. Tilkov, “Microservices: The journey so far and challenges ahead,” IEEE Software, vol. 35, no. 3, pp. 24–35, 2018, doi: 10.1109/MS.2018.2141039.
[7] M. Gebser, R. Kaminski, B. Kaufmann, T. Schaub, “Multi-shot ASP solving with clingo,” Theory Pract. Log. Program., vol. 19, no. 1, pp. 27–82, 2019, doi: 10.1017/S1471068418000054.
[8] R. H. Bordini, L. Braubach, M. Dastani, A. E. F. Seghrouchni, J. J. Gómez-Sanz, J. Leite, G. M. P. O’Hare, A. Pokahr, A. Ricci, “A survey of programming languages and platforms for multi-agent systems,” Informatica (Slovenia), vol. 30, no. 1, pp. 33–44, 2006.
[9] A. Garro, M. Mühlhäuser, A. Tundis, M. Baldoni, C. Baroglio, F. Bergenti, P. Torroni, “Intelligent agents: Multi-agent systems,” in Encyclopedia of Bioinformatics and Computational Biology - Volume 1, S. Ranganathan, M. Gribskov, K. Nakai, C. Schönbach Eds., Elsevier, 2019, pp. 315-320, doi: 10.1016/b978-0-12-809633-8.20328-2.
[10] R. Calegari, G. Ciatto, V. Mascardi, A. Omicini, “Logic-based technologies for multi-agent systems: a systematic literature review,” Auton. Agents Multi Agent Syst., vol. 35, no. 1, p. 1, 2021, doi: 10.1007/s10458-020-09478-3.
[11] S. Costantini, G. De Gasperis, “Dynamic goal decomposition and planning in MAS for highly changing environments,” in Proceedings of the 33rd Italian Conference on Computational Logic, Bolzano, Italy, September 20-22, 2018, vol. 2214 of CEUR Workshop Proceedings, 2018, pp. 40–54, CEUR-WS.org.
[12] D. Ameller, X. Burgués, O. Collell, D. Costal, X. Franch, M. P. Papazoglou, “Development of service-oriented architectures using model-driven development: A mapping study,” Information and Software Technology, vol. 62, pp. 42 – 66, 2015, doi: https://doi.org/10.1016/j.infsof.2015.02.006.
[13] C. Legner, R. Heutschi, “Soa adoption in practice-findings from early soa implementations,” 2007, Association for Information Systems.
[14] N. Dragoni, S. Giallorenzo, A. L. Lafuente, M. Mazzara, F. Montesi, R. Mustafin, L. Safina, “Microservices: yesterday, today, and tomorrow,” in Present and ulterior software engineering, Springer, 2017, pp. 195–216, doi: 10.1007/978-3-319-67425-4_12.
[15] L. De Lauretis, “From monolithic architecture to microservicesarchitecture,” in 2019 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), 2019, pp. 93–96, IEEE.
[16] P. Krivic, P. Skocir, M. Kusek, G. Jezic, “Microservices as agents in iot systems,” in KES International Symposium on Agent and Multi-Agent Systems: Technologies and Applications, 2017, pp. 22–31, Springer.
[17] S. Costantini, A. Formisano, “Answer set programming with resources,” Journal of Logic and Computation, vol. 20, no. 2, pp. 533–571, 2010, doi: 10.1093/logcom/exp071.
[18] A. Dyoub, S. Costantini, G. De Gasperis, “Answer set programming and agents,” Knowledge Eng. Review, vol. 33, p. e19, 2018, doi: 10.1017/ S0269888918000164.
[19] S. Costantini, “About epistemic negation and world views in epistemic logic programs,” Theory Pract. Log. Program., vol. 19, no. 5-6, pp. 790– 807, 2019.
[20] W. Faber, “An introduction to answer set programming and some of its extensions,” in Reasoning Web. Declarative Artificial Intelligence - 16th International Summer School 2020, Oslo, Norway, June 24-26, 2020, Tutorial Lectures, vol. 12258 of Lecture Notes in Computer Science, 2020, pp. 149–185, Springer.
[21] V. Lifschitz, “Twelve definitions of a stable model,” in Proc. of the 24th Intl. Conf. on Logic Programming, vol. 5366 of LNCS, 2008, pp. 37–51, Springer.
[22] A. Van Gelder, K. A. Ross, J. S. Schlipf, “The well-founded semantics for general logic programs,” Journal of the ACM, vol. 38, no. 3, pp. 620–650, 1991, doi: 10.1145/116825.116838.
[23] S. Costantini, A. Formisano, “Negation as a resource: A novel view on answer set semantics,” in Logic Programming and Nonmonotonic Reasoning, 12th Intl. Conf., LPNMR 2013, vol. 8148 of Lecture Notes in Computer Science, 2013, pp. 257–263, Springer.
[24] K. Marple, G. Gupta, “Dynamic consistency checking in goal-directed answer set programming,” TPLP, vol. 14, no. 4-5, pp. 415–427, 2014, doi: 10.1017/S1471068414000118.
[25] G. Gupta, E. Salazar, K. Marple, Z. Chen, F. Shakerin, “A case for query-driven predicate answer set programming,” in ARCADE 2017, 1st International Workshop on Automated Reasoning: Challenges, Applications, Directions, Exemplary Achievements, Gothenburg, Sweden, 6th August 2017, vol. 51 of EPiC Series in Computing, 2017, pp. 64–68, EasyChair.
[26] S. Costantini, F. A. Lisi, R. Olivieri, “Digforasp: A european cooperation network for logic-based AI in digital forensics,” in Proceedings of the 34th Italian Conference on Computational Logic, Trieste, Italy, June 19- 21, 2019, vol. 2396 of CEUR Workshop Proceedings, 2019, pp. 138–146, CEUR-WS.org.
[27] Y. Shen, T. Eiter, “Evaluating epistemic negation in answer set programming,” Artificial Intelligence, vol. 237, pp. 115–135, 2016, doi: 10.1016/j.artint.2016.04.004.
[28] T. Eiter, G. Gottlob, H. Veith, “Modular logic programming and generalized quantifiers,” in Logic Programming and Nonmonotonic Reasoning, Springer, 1997, pp. 289–308, doi: 10.1007/3-540-63255-7_22.
[29] G. Ianni, G. Ielpa, A. Pietramala, M. C. Santoro, F. Calimeri, “Enhancing answer set programming with templates.,” in 10th International Workshop on Non-Monotonic Reasoning (NMR 2004), Whistler, Canada, June 6-8, 2004, Proceedings, 2004, pp. 233–239.
[30] L. Tari, C. Baral, S. Anwar, “A language for modular answer set programming: Application to ACC tournament scheduling.,” in Answer Set Programming, Advances in Theory and Implementation, Proceedings of the 3rd Intl. ASP’05 Workshop, Bath, UK, September 27-29, 2005, vol. 142 of CEUR Workshop Proceedings, 2005, CEUR-WS.org.
[31] S. Costantini, “On the existence of stable models of non-stratified logic programs,” Theory and Practice of Logic Programming, vol. 6, no. 1-2, 2006, doi: 10.1017/S1471068405002589.
[32] V. Lifschitz, H. Turner, “Splitting a logic program.,” in Logic Programming, Proceedings of the Eleventh International Conference on Logic Programming, Santa Marherita Ligure, Italy, June 13-18, 1994, vol. 94, 1994, pp. 23–37, MIT Press.
[33] T. Janhunen, E. Oikarinen, H. Tompits, S. Woltran, “Modularity aspects of disjunctive stable models,” Journal of Artificial Intelligence Research, pp. 813–857, 2009, doi: 10.1613/jair.2810.
[34] E. Oikarinen, Modularity in answer set programs. PhD dissertation, Helsinki University of Technology, Finland, 2008.
[35] H. Gaifman, E. Shapiro, “Fully abstract compositional semantics for logic programs,” in Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, 1989, pp. 134–142, ACM.
[36] M. Dao-Tran, T. Eiter, M. Fink, T. Krennwallner, “Modular nonmonotonic logic programming revisited,” in Logic Programming, Springer, 2009, pp. 145–159, doi: 10.1007/978-3-642-02846-5_16.
[37] C. Baral, J. Dzifcak, H. Takahashi, “Macros, macro calls and use of ensembles in modular answer set programming,” in Logic Programming, Springer, 2006, pp. 376–390, doi: 10.1007/11799573_28.
[38] M. Balduccini, “Modules and signature declarations for a-prolog: Progress report,” Workshop on Software Engineering for Answer Set Programming (SEA’07), pp. 41–55, 2007.
[39] W. Faber, S. Woltran, “Manifold answer-set programs for meta-reasoning,” in Logic Programming and Non-monotonic Reasoning, Springer, 2009, pp. 115–128, doi: 10.1007/978-3-642-04238-6_12.
[40] Y. Lierler, M. Truszczyński, “Modular answer set solving,” LateBreaking Developments in the Field of Artificial Intelligence, Bellevue, Washington, USA, July 14-18, AAAI, vol. WS-13-17, 2013.
[41] S. Costantini, “Answer set modules for logical agents,” in Datalog Reloaded - First Intl. Workshop, Datalog 2010, Revised Selected Papers, O. de Moor, G. Gottlob, T. Furche, A. J. Sellers Eds., no. 6702 in Lecture Notes in Computer Science, Springer, 2011, pp. 37–58, doi: 10.1007/978- 3-642-24206-9_3.
[42] S. Costantini, A. Tocchio, “A logic programming language for multiagent systems,” in Logics in Artificial Intelligence, Proc. of the 8th Europ. Conf.,JELIA 2002, LNAI 2424, 2002, pp. 1–13, Springer-Verlag, Berlin.
[43] S. Costantini, A. Tocchio, “The DALI logic programming agent-oriented language,” in Logics in Artificial Intelligence, 9th European Conference, JELIA 2004, Proceedings, vol. 3229 of Lecture Notes in Computer Science, 2004, pp. 685–688, Springer.
[44] S. Costantini, A. Tocchio, A. Verticchio, “Communication and trust in the DALI logic programming agentoriented language,” Intelligenza Artificiale, vol. 2, no. 1, pp. 39–46, 2005. Journal of the Italian Association AI*IA.
[45] S. Costantini, A. Tocchio, “About declarative semantics of logic-based agent languages,” in Declarative Agent Languages and Technologies III, Third International Workshop, DALT 2005, Selected and Revised Papers, vol. 3904 of Lecture Notes in Computer Science, M. Baldoni, U. Endriss, A. Omicini, P. Torroni Eds., Springer, 2005, pp. 106–123, doi: 10.1007/11691792_7.
[46] S. Costantini, P. Dell’Acqua, L. M. Pereira, “A multilayer framework for evolving and learning agents,” in Proceedings of Metareasoning: Thinking about thinking workshop at AAAI 2008, Chicago, USA, 2008.
[47] S. Costantini, A. Tocchio, “DALI: An architecture for intelligent logical agents,” in Proceedings of the Int. Workshop on Architectures for Intelligent Theory-Based Agents (AITA08), AAAI Spring Symposium Series, 2008.
[48] S. Costantini, “Self-checking logical agents,” in Proceedings of the Eighth Latin American Workshop on Logic, Languages, Algorithms and New Methods of Reasoning LA-NMR 2012, vol. 911 of CEUR Workshop Proceedings, 2012, pp. 3–30, CEUR-WS.org. Invited Paper, Extended Abstract in Proceedings of AAMAS 2013, 12th Intl. Conf. on Autonomous Agents and Multi-Agent Systems.
[49] S. Costantini, A. D’Andrea, G. De Gasperis, N. Florio, Tocchio, “DALI logical agents into play,” in Proceedings of the AI*IA Workshop “Popularize Artificial Intelligence” (PAI-2012), 2012.
[50] S. Costantini, G. D. Gasperis, “Complex reactivity with preferences in rule-based agents,” in Rules on the Web: Research and Applications - 6th International Symposium, RuleML 2012, Montpellier, France, August 27-29, 2012. Proceedings, vol. 7438 of Lecture Notes in Computer Science, 2012, pp. 167–181, Springer.
[51] S. Costantini, G. De Gasperis, G. Nazzicone, “Exploration of unknown territory via DALI agents and ASP modules,” in Distributed Computing and Artificial Intelligence, 12th International Conference, DCAI 2015. Proceedings, vol. 373 of Advances in Intelligent Systems and Computing, 2015, pp. 285–292, Springer.
[52] S. Costantini, G. De Gasperis, G. Nazzicone, “DALI for cognitive robotics: Principles and prototype implementation,” in Practical Aspects of Declarative Languages - 19th International Symposium, PADL 2017, Proceedings, vol. 10137 of Lecture Notes in Computer Science, 2017, pp. 152–162, Springer.
[53] R. A. Brooks, “Intelligence without reason,” in Proceedings of the 12th International Joint Conference on Artificial Intelligence. Sydney, Australia, August 24-30, 1991, 1991, pp. 569–595, Morgan Kaufmann.
[54] R. A. Brooks, “Intelligence without representation,” Artif. Intell., vol. 47, no. 1-3, pp. 139–159, 1991.
[55] A. S. Rao, M. Georgeff, “Modeling rational agents within a BDIarchitecture,” in Proc. of the Second Int. Conf. on Principles of Knowledge Representation and Reasoning (KR’91), 1991, pp. 473–484, Morgan Kaufmann.
[56] A. S. Rao, “AgentSpeak (L): BDI agents speak out in a logical computable language,” in Agents Breaking Away, 7th European Workshop on Modelling Autonomous Agents in a Multi-Agent World, Eindhoven, The Netherlands, January 22-25, 1996, Proceedings, Springer, 1996, pp. 42–55, doi: 10.1007/BFb0031845.
[57] S. Costantini, P. Dell’Acqua, G. A. Lanzarone, “Reflective agents in metalogic programming,” in Meta-Programming in Logic, 3rd International Workshop, META-92, Proceedings, vol. 649 of Lecture Notes in Computer Science, 1992, pp. 135–147, Springer.
[58] R. A. Kowalski, F. Sadri, “Towards a unified agent architecture that combines rationality with reactivity,” in Logic in Databases, International Workshop LID’96, Proceedings, vol. 1154 of Lecture Notes in Computer Science, 1996, pp. 137–149, Springer.
[59] P. Dell’Acqua, F. Sadri, F. Toni, “Combining introspection and communication with rationality and reactivity in agents,” in Logics in Artificial Intelligence, European Workshop, JELIA ’98, Dagstuhl, Germany, October 12-15, 1998, Proceedings, vol. 1489 of Lecture Notes in Computer Science, 1998, pp. 17–32, Springer.
[60] G. De Gasperis, S. Costantini, G. Nazzicone, “Dali multi agent systems framework, doi 10.5281/zenodo.11042.” DALI GitHub Software Repository, July 2014. Accessed: December 2020, DALI: http://github.com/AAAI-DISIM-UnivAQ/DALI.
[61] S. Costantini, G. De Gasperis, V. Pitoni, A. Salutari, “DALI: A multi agent system framework for the web, cognitive robotic and complex event processing,” in Joint Proceedings of the 18th Italian Conference on Theoretical Computer Science and the 32nd Italian Conference on Computational Logic co-located with the 2017 IEEE International Workshop on Measurements and Networking (2017 IEEE M&N), vol. 1949 of CEUR Workshop Proceedings, 2017, pp. 286–300, CEUR-WS.org.
[62] S. Costantini, “Defining and maintaining agent’s experience in logical agents,” in Proc. of the Seventh Latin American Workshop on NonMonotonic Reasoning LANMR 2011, vol. 804, 2011, pp. 151–165. (also in the Informal Proc. of the LPMAS “Logic Programming for Multi-Agent Systems” Workshop at ICLP 2011).
[63] M. Carlsson, P. Mildner, “Sicstus prolog–the first 25 years,” arXiv preprint arXiv:1011.5640, 2010.
[64] S. Costantini, G. De Gasperis, G. Nazzicone, “DALI for cognitive robotics: Principles and prototype implementation,” in Practical Aspects of Declarative Languages - 19th International Symposium, Proceedings, vol. 10137 of Lecture Notes in Computer Science, 2017, pp. 152–162, Springer.
[65] S. Costantini, G. De Gasperis, V. Pitoni, A. Salutari, “Dali: A multi agent system framework for the web, cognitive robotic and complex event processing,” in Proceedings of the 32nd Italian Conference on Computational Logic, vol. 1949 of CEUR Workshop Proceedings, 2017, pp. 286–300, CEUR-WS.org. http://ceurws.org/Vol-1949/CILCpaper05.pdf.
[66] S. Costantini, “ACE: a flexible environment for complex event processing in logical agents,” in Engineering Multi-Agent Systems, Third International Workshop, EMAS 2015, Revised Selected Papers, vol. 9318 of Lecture Notes in Computer Science, 2015, pp. 70–91, Springer.
[67] F. Aielli, D. Ancona, P. Caianiello, S. Costantini, G. De Gasperis, A. D. Marco, A. Ferrando, V. Mascardi, “FRIENDLY & KIND with your health: Human-friendly knowledge-intensive dynamic systems for the e-health domain,” in Highlights of Practical Applications of Scalable Multi-Agent Systems. The PAAMS Collection International Workshops of PAAMS 2016, Proceedings, vol. 616 of Communications in Computer and Information Science, 2016, pp. 15–26, Springer.
[68] S. Costantini, G. De Gasperis, P. Migliarini, “Multiagent system engineering for emphatic human-robot interaction,” in 2019 IEEE Second International Conference on Artificial Intelligence and Knowledge Engineering (AIKE), 2019, pp. 36–42, IEEE.
[69] K. L. Clark, P. J. Robinson, “Concurrent task programming of robotic agents in teleor.,” in RuleML+ RR (Supplement), 2017.
[70] M. Gebser, T. Schaub, S. Thiele, “Gringo: A new grounder for answer set programming,” in International Conference on Logic Programming and Non- monotonic Reasoning, 2007, pp. 266–271, Springer.
[71] S. Costantini, A. Formisano, “Query answering in resource-based answer set semantics,” Theory and Practice of Logic Programming, vol. 16, no. 5-6, pp. 619–635, 2016, doi: 10.1017/S1471068416000478.
[72] G. Brewka, T. Eiter, “Equilibria in heterogeneous nonmonotonic multi-context systems,” in Proc. of the 22nd AAAI Conf. on Artificial Intelligence, 2007, pp. 385–390, AAAI Press.
[73] G. Brewka, T. Eiter, M. Fink, “Nonmonotonic multicontext systems: A flexible approach for integrating heterogeneous knowledge sources,” in Logic Programming, Knowledge Representation, and Nonmonotonic Reasoning - Essays Dedicated to Michael Gelfond on the Occasion of His 65th Birthday, vol. 6565 of Lecture Notes in Computer Science, 2011, pp. 233–258, Springer.
[74] G. Brewka, S. Ellmauthaler, J. Pührer, “Multi-context systems for reactive reasoning in dynamic environments,” in ECAI 2014, Proc. of the 21st European Conf. on Artificial Intelligence, 2014, pp. 159–164, IJ- CAI/ AAAI.
[75] P. Cabalar, S. Costantini, G. De Gasperis, A. Formisano, “Multi-context systems in dynamic environments,” Ann. Math. Artif. Intell., vol. 86, no. 1-3, pp. 87–120, 2019, doi: 10.1007/s10472-019-09622-0.
[76] S. Costantini, G. De Gasperis, “Exchanging data and ontological definitions in multi-agent-contexts systems,” in Proceedings of the RuleML 2015 Challenge, the Special Track on Rule-based Recommender Systems for the Web of Data, the Special Industry Track and the RuleML 2015 Doctoral Consortium hosted by the 9th International Web Rule Symposium (RuleML 2015), Berlin, Germany, August 2-5, 2015, vol. 1417 of CEUR Workshop Proceedings, 2015, CEUR-WS.org.
[77] S. Costantini, “Knowledge acquisition via non-monotonic reasoning in distributed heterogeneous environments,” in 13th Int. Conf. on Logic Programming and Nonmonotonic Reasoning LPNMR 2013. Proc., vol. 9345 of Lecture Notes in Computer Science, 2015, pp. 228–241, Springer.
Downloads
Published
-
Abstract232
-
PDF76






