×

zbMATH — the first resource for mathematics

Logic programming as a service. (English) Zbl 1452.68036
Summary: New generations of distributed systems are opening novel perspectives for logic programming (LP): On the one hand, service-oriented architectures represent nowadays the standard approach for distributed systems engineering; on the other hand, pervasive systems mandate for situated intelligence. In this paper, we introduce the notion of Logic Programming as a Service (LPaaS) as a means to address the needs of pervasive intelligent systems through logic engines exploited as a distributed service. First, we define the abstract architectural model by re-interpreting classical LP notions in the new context; then we elaborate on the nature of LP interpreted as a service by describing the basic LPaaS interface. Finally, we show how LPaaS works in practice by discussing its implementation in terms of distributed tuProlog engines, accounting for basic issues such as interoperability and configurability.
MSC:
68N17 Logic programming
68M14 Distributed systems
Software:
Linda; LPaaS
PDF BibTeX XML Cite
Full Text: DOI
References:
[1] Alkhabbas, F.; Spalazzese, R.; Davidsson, P., (2017)
[2] Bettini, C.; Brdiczka, O.; Henricksen, K.; Indulska, J.; Nicklas, D.; Ranganathan, A.; Riboni, D., A survey of context modelling and reasoning techniques, Pervasive and Mobile Computing, 6, 2, 161-180, (2010)
[3] Brogi, A.; Ciancarini, P., The concurrent language, Shared Prolog, ACM Transactions on Programming Languages and Systems, 13, 1, 99-123, (1991)
[4] Brogi, A.; Gorrieri, R.; Díaz, J.; Orejas, F., International Joint Conference on Theory and Practice of Software Development (TAPSOFT ’89), A distributed, net oriented semantics for Delta Prolog, 162-177, (1989), Springer: Springer, Berlin Heidelberg
[5] Brownlee, J., Clever Algorithms: Nature-Inspired Programming Recipes, (2011), Lulu Press: Lulu Press, Morrisville, NC, USA
[6] Bugliesi, M.; Lamma, E.; Mello, P., Modularity in logic programming, Journal of Logic Programming, 19-20, 443-502, (1994)
[7] Calegari, R.; Denti, E.; Dovier, A.; Omicini, A., Extending logic programming with labelled variables: Model and semantics, Fundamenta Informaticae, 161, 53-74, (2018) · Zbl 1396.68031
[8] Calegari, R.; Denti, E.; Mariani, S.; Omicini, A.; Fortino, G.; Zhou, M.; Lukszo, Z.; Vasilakos, A. V.; Basile, F.; Palau, C.; Liotta, A.; Fanti, M. P.; Guerrieri, A.; Vinci, A., (2017)
[9] Calegari, R.; Denti, E.; Mariani, S.; Omicini, A., (2018)
[10] Cannata, A.; Karnouskos, S.; Taisch, M., (2010)
[11] Chen, H.; Finin, T.; Joshi, A., An ontology for context-aware pervasive computing environments, The Knowledge Engineering Review, 18, 3, 197-207, (2003)
[12] Cheng, B.; Wang, M.; Zhao, S.; Zhai, Z.; Zhu, D.; Chen, J., Situation-aware dynamic service coordination in an IoT environment, IEEE/ACM Transactions on Networking, 25, 4, 2082-2095, (2017)
[13] Clark, K. L., Logic and Data Bases, Negation as failure, 293-322, (1978), Springer: Springer, Boston, MA, USA
[14] Clark, K. L.; De Bakker, J. W.; Nijman, A. J.; Treleaven, P. C., (1987)
[15] Clark, K. L.; Gregory, S., (1981)
[16] Cunha, J. C.; Ferreira, M. C.; Pereira, L. M.; Levi, G.; Martelli, M., (1989)
[17] Cusumano, M., Cloud computing and SaaS as new computing platforms, Communications of the ACM, 53, 4, 27-29, (2010)
[18] Denti, E.; Omicini, A.; Ricci, A.; Ramakrishnan, I. V., (2001)
[19] Deransart, P.; Ed-Dbali, A.; Cervoni, L., Prolog: The Standard. Reference Manual, (1996), Springer: Springer, Berlin, Heidelberg · Zbl 0844.68017
[20] Dey, A. K., Understanding and using context, Personal and Ubiquitous Computing, 5, 1, 4-7, (2001)
[21] (2018)
[22] Erl, T., Service-Oriented Architecture: Concepts, Technology, and Design, (2005), Prentice Hall/Pearson Education International: Prentice Hall/Pearson Education International, Upper Saddle River, NJ, USA
[23] Etter, R.; Costa, P. D.; Broens, T., (2006)
[24] Familiar, B., Microservices, IoT, and Azure: Leveraging DevOps and Microservice Architecture to Deliver SaaS Solutions, (2015), Apress: Apress, Berkely, CA, USA
[25] Fielding, R. T.; Taylor, R. N., Principled design of the modern Web architecture, ACM Transactions on Internet Technology, 2, 2, 115-150, (2002)
[26] Finin, T.; Joshi, A.; Kagal, L.; Ratsimore, O.; Korolev, V.; Chen, H.; Klusch, M.; Zambonelli, F., (2001)
[27] Gallaire, H.; Minker, J., Logic and Data Bases, (1978), Springer: Springer, Boston, MA, USA
[28] Gelernter, D., Generative communication in Linda, ACM Transactions on Programming Languages and Systems, 7, 1, 80-112, (1985) · Zbl 0559.68030
[29] Guinard, D.; Trifa, V.; Karnouskos, S.; Spiess, P.; Savio, D., Interacting with the SOA-based Internet of Things: Discovery, query, selection, and on-demand provisioning of Web Services, IEEE Transactions on Services Computing, 3, 3, 223-235, (2010)
[30] Guinard, D.; Trifa, V.; Wilde, E., (2010)
[31] Hachem, S.; Pathak, A.; Issarny, V., Service-oriented middleware for large-scale mobile participatory sensing, Pervasive and Mobile Computing, 10, 66-82, (2014)
[32] Heuer, J.; Hund, J.; Pfaff, O., Toward the web of things: Applying web technologies to the physical world, Computer, 48, 5, 34-42, (2015)
[33] Hu, B.; Wang, Z.; Dong, Q.; Lei, J.; Wang, F. L.; Deng, H.; Miao, D., (2012)
[34] (2018)
[35] (2017)
[36] (2017)
[37] (2017)
[38] (2017)
[39] Karnouskos, S.; Colombo, A. W.; Bangemann, T.; Manninen, K.; Camp, R.; Tilly, M.; Stluka, P.; Jammes, F.; Delsing, J.; Eliasson, J., (2012)
[40] Loke, S. W., Representing and reasoning with situations for context-aware pervasive computing: a logic programming perspective, The Knowledge Engineering Review, 19, 3, 213-233, (2004)
[41] (2018)
[42] Mariani, S.; Omicini, A., Coordinating activities and change: An event-driven architecture for situated MAS, Engineering Applications of Artificial Intelligence, 41, 298-309, (2015)
[43] Martelli, M.; Sessa, M.; Editrice, Palladio, 1985-1995: Ten years of Logic Programming in Italy, Constraint logic programming: Theory and applications, 137-166, (1995), Salerno: Salerno, Italy
[44] Messina, F.; Mikkilineni, R.; Morana, G., Middleware, framework and novel computing models for grid and cloud service orchestration, International Journal of Grid and Utility Computing, 8, 71, (2017)
[45] Michelson, B. M., (2006)
[46] Monteiro, L.; Campbell, J. A., Implementations of Prolog, A proposal for distributed programming in logic, 329-340, (1984), Ellis Horwood Limited: Ellis Horwood Limited, Chicester, UK
[47] (2017)
[48] Naish, L.; Kowalski, R. A.; Bowen, K. A., (1988)
[49] Nalepa, G. J.; Bobek, S., Rule-based solution for context-aware reasoning on mobile devices, Computer Science and Information Systems, 11, 1, 171-193, (2014)
[50] Niezen, G., Ontologies for interaction: Enabling serendipitous interoperability in smart environments, Journal of Ambient Intelligence and Smart Environments, 5, 1, 135-137, (2013)
[51] Nii, H. P., The blackboard model of problem solving and the evolution of blackboard architectures, The AI Magazine, 7, 2, 38-106, (1986)
[52] Oliya, M.; Pung, H. K.; Abraham, A.; Mauri, J. Lloret; Buford, J. F.; Suzuki, J.; Thampi, S. M., (2011)
[53] Omicini, A.; Zambonelli, F., Coordination for Internet application development, Autonomous Agents and Multi-Agent Systems, 2, 3, 251-269, (1999)
[54] Palù, A. D.; Torroni, P.; Dovier, A.; Pontelli, E., A 25-Year Perspective on Logic Programming, 25 years of applications of logic programming in Italy, 300-328, (2010), Springer: Springer, Berlin, Heidelberg · Zbl 1191.68008
[55] Parker, L. E., Distributed intelligence: Overview of the field and its application in multi-robot systems, Journal of Physical Agents, 2, 1, 5-14, (2008)
[56] (2017)
[57] Pontelli, E.; Cao Son, T.; Baral, C., Managing Web Service Quality: Measuring Outcomes and Effectiveness, A logic programming based framework for intelligent Web Service composition, 193-221, (2008), IGI Global: IGI Global, Hershey, PA, USA
[58] Prado, A. G. D.; Ortiz, G.; Boubeta-Puig, J., CARED-SOA: A context-aware event-driven service-oriented architecture, IEEE Access, 5, 4646-4663, (2017)
[59] Ranganathan, A.; Al-Muhtadi, J.; Campbell, R. H., Reasoning about uncertain contexts in pervasive computing environments, IEEE Pervasive Computing, 3, 2, 62-70, (2004)
[60] Ranganathan, A.; Campbell, R. H., An infrastructure for context-awareness based on first order logic, Personal and Ubiquitous Computing, 7, 6, 353-364, (2003)
[61] Reiter, R., Logic and Data Bases, On closed world data bases, 55-76, (1978), Springer: Springer, Boston, MA, USA
[62] Ricci, A.; Viroli, M.; Omicini, A.; Mariani, S.; Croatti, A.; Pianini, D.; Badica, C.; El Fallah Seghrouchni, A.; Beynier, A.; Camacho, D.; Herpson, C.; Hindriks, K.; Novais, P., (2017)
[63] Richards, M., Microservices AntiPatterns and Pitfalls, (2016), O’Reilly: O’Reilly, Sebastopol, CA, USA
[64] Robinson, J. A., A machine-oriented logic based on the resolution principle, Journal of the ACM, 12, 1, 23-41, (1965) · Zbl 0139.12303
[65] Salber, D.; Dey, A. K.; Abowd, G. D., (1999)
[66] Schulte, R. W.; Natis, Y. V., (2003)
[67] Shapiro, E. Y., Concurrent Prolog - Vol. 1: Collected Papers, (1987), The MIT Press: The MIT Press, Cambridge, MA, USA
[68] Smart, P., Situating machine intelligence within the cognitive ecology of the Internet, Minds and Machines, 27, 2, 357-380, (2017)
[69] Ueda, K.; Wada, E., (1986)
[70] Wang, H.; Mehta, R.; Supakkul, S.; Chung, L., (2011)
[71] Wolfram, D. A.; Maher, M. J.; Lassez, J.-L.; Tärnlund, S.-Å., (1984)
[72] Zambonelli, F.; Omicini, A.; Anzengruber, B.; Castelli, G.; Deangelis, F. L.; Di Marzo Serugendo, G.; Dobson, S.; Fernandez-Marquez, J. L.; Ferscha, A.; Mamei, M.; Mariani, S.; Molesini, A.; Montagna, S.; Nieminen, J.; Pianini, D.; Risoldi, M.; Rosi, A.; Stevenson, G.; Viroli, M.; Ye, J., Developing pervasive multi-agent systems with nature-inspired coordination, Pervasive and Mobile Computing, 17, 236-252, (2015)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.