SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Towards Logic Programming as a Service
Experiments in tuProlog
Roberta Calegari Enrico Denti Stefano Mariani Andrea Omicini
{roberta.calegari, enrico.denti, s.mariani, andrea.omicini}@unibo.it
Dipartimento di Informatica – Scienza e Ingegneria (DISI)
Alma Mater Studiorum – Universit`a di Bologna
XVII Workshop “From Objects to Agents” (WOA 2016)
Catania, Italy, 29 July 2016
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 1 / 26
Outline
1 Scope & Goals
2 Logic Programming as a Service (LPaaS)
3 tuProlog as a Service (2PaaS) on iOS
4 Application Scenarios
5 Related Work
6 Conclusion & Further Work
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 2 / 26
Scope & Goals
Outline
1 Scope & Goals
2 Logic Programming as a Service (LPaaS)
3 tuProlog as a Service (2PaaS) on iOS
4 Application Scenarios
5 Related Work
6 Conclusion & Further Work
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 3 / 26
Scope & Goals Context & Motivation
Context
Challenges of today’s pervasive system [MO15]
complex distributed situated intelligent
distributed situated intelligence
light-weight, effective intelligence chunks
placed where and when needed
to locally tackle the specific reasoning needs
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 4 / 26
Scope & Goals Context & Motivation
Motivations
Complex Internet-of-Things (IoT) scenarios
mobility/cloud ecosystem
infrastructure, platforms, and software as a service
enabling people to benefit from ubiquitous information access
Role of logic-based languages
Multiple, distributed Prolog engines
intelligence providers
technology integrators [OZ04]
Logic Programming as a Service (LPaaS)
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 5 / 26
Scope & Goals tuProlog in a Nutshell
tuProlog [DOR01, DOC13]
light-weight, minimal, easily deployable
dynamically configurable
inter-operable
multi-paradigm, multi-language, multi-platform
Java, .NET, Android, iOS
open-source @ http://tuprolog.unibo.it
Minimality
tuProlog core contains just the Prolog engine essentials
↑ other features via libraries
Easy deployability
e.g., JAR archive/.NET assembly made available at the desired
location – Android/iOS app (via the Android/iOS installer)
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 6 / 26
Logic Programming as a Service (LPaaS)
Outline
1 Scope & Goals
2 Logic Programming as a Service (LPaaS)
3 tuProlog as a Service (2PaaS) on iOS
4 Application Scenarios
5 Related Work
6 Conclusion & Further Work
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 7 / 26
Logic Programming as a Service (LPaaS) Architecture
LPaaS Architecture
Logic Programming as a Service (LPaaS)
Presumably at the SaaS level
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 8 / 26
Logic Programming as a Service (LPaaS) Interface & API
LPaaS Interface & API
(Local) API
create engine to instantiate a dedicated engine
reset engine to reset the engine to the initial state and possibly the empty
knowledge base
set theory to load the knowledge base into the engine
query to submit queries and retrieve (possibly multiple) results
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 9 / 26
tuProlog as a Service (2PaaS) on iOS
Outline
1 Scope & Goals
2 Logic Programming as a Service (LPaaS)
3 tuProlog as a Service (2PaaS) on iOS
4 Application Scenarios
5 Related Work
6 Conclusion & Further Work
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 10 / 26
tuProlog as a Service (2PaaS) on iOS Architecture
2PaaS Architecture
tuProlog as a Service (2PaaS) on iOS
is embedded in a tuProlog app
acting as the service provider for all other applications running on the
mobile device
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 11 / 26
tuProlog as a Service (2PaaS) on iOS Interface & API
2PaaS Interface & API I
API
create engine implicit—just embedded in the first call to the service
reset engine mapped onto the 2P reset primitive
set theory mapped onto the 2P theory primitive
query mapped onto a set of 2P primitives—namely, query to issue
the query, result and solution to retrieve the query
result, and nextSol to explore further solutions
iOS built-in URL scheme functionality
simple and effective way for application inter-communication
↑ via a user-defined, URL-based protocol
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 12 / 26
tuProlog as a Service (2PaaS) on iOS Interface & API
2PaaS Interface & API II
tuProlog app URL scheme
tuPrologMobile://?src=srcURL&command=argument&dst=dstURL
srcURL is the client URL scheme
command is one of theory, query, nextSol, reset, with argument
respectively being theory, query (the text of the query)
dstURL is the URL scheme of the client to which the result should be
sent, possibly different from srcURL
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 13 / 26
tuProlog as a Service (2PaaS) on iOS Interface & API
2PaaS Interface & API III
Query result returned by the tuProlog service
dstURL://command=commandresult
dstURL is the URL scheme of the client receiving the result
command is either result, solution, nextSol, or reset, with the
respective commandresult
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 14 / 26
Application Scenarios
Outline
1 Scope & Goals
2 Logic Programming as a Service (LPaaS)
3 tuProlog as a Service (2PaaS) on iOS
4 Application Scenarios
5 Related Work
6 Conclusion & Further Work
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 15 / 26
Application Scenarios The “Derivative” Case Study
The “Derivative” Case Study
The symbolic derivative query, and its result on iPhone and iWatch
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 16 / 26
Application Scenarios The Multi-language Case Study
The Multi-language Toy Example
exploiting tuProlog multi-paradigm programming support (OOLibrary)
Swift or Objective-C apps interacting with Java entities
Swift app creates Java objects, calls methods, and elaborates the (Java)
result back in Swift
Example query
a Java string member(X,[a,d]). is bound to the Prolog var Q
then a Java Prolog engine is bound to the Prolog var P
P is used to solve the query Q
the result is bound to the Prolog var S
the result is converted to a Java string via toString
then it is bound to the final result to the Prolog var SOL
the result is printed by the Swift app on its console
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 17 / 26
Application Scenarios Complex Pervasive Systems
Towards Home Intelligence
need for situatedness—i.e., smart fridge, geo-localised reasoning
instability of the connection
limits to the availability of bandwidth and computational power
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 18 / 26
Related Work
Outline
1 Scope & Goals
2 Logic Programming as a Service (LPaaS)
3 tuProlog as a Service (2PaaS) on iOS
4 Application Scenarios
5 Related Work
6 Conclusion & Further Work
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 19 / 26
Related Work
Related Work
[CH01] — PiLLoW library (Programming in Logic Languages on the
Web): developed in Ciao Prolog and available for
SWI-Prolog, SICStus Prolog, and YAP and Ciao
[MS02] — Logic programming for the composition of Semantic Web
Services
[BGHK97] — ALP-Prolog library aiming at embedded HTTP servers for
controlling appliances
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 20 / 26
Conclusion & Further Work
Outline
1 Scope & Goals
2 Logic Programming as a Service (LPaaS)
3 tuProlog as a Service (2PaaS) on iOS
4 Application Scenarios
5 Related Work
6 Conclusion & Further Work
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 21 / 26
Conclusion & Further Work
Conclusions
Distributed light-weight logic programming engines for pervasive and
situated systems
→ modular, multi-platform, and multi-language logic engine
→ LPaaS
→ tuProlog as a service (2PaaS) on iOS
Further Work
precisely defining and further extending the LPaaS paradigm
providing logic engines within SOA – e.g., tuProlog as a RESTful web
service
designing the architecture of a general-purpose Prolog middleware
building a full-fledged specialised tuProlog middleware
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 22 / 26
References
References I
Manfred Bathelt, Ulrich Gall, Bernd Hindel, and Christian Kurzke.
Accessing embedded systems via WWW: The ProWeb toolset.
Computer Networks and ISDN Systems, 29(8-13):1065–1073, September 1997.
Papers from the 6th International World Wide Web Conference.
Daniel Cabeza and Manuel V. Hermenegildo.
Distributed WWW programming using (Ciao-) Prolog and the PilloW library.
Theory and Practice of Logic Programming, 1(3):251–282, May 2001.
Enrico Denti, Andrea Omicini, and Roberta Calegari.
tuProlog: Making Prolog ubiquitous.
ALP Newsletter, October 2013.
Enrico Denti, Andrea Omicini, and Alessandro Ricci.
tuProlog: A light-weight Prolog for Internet applications and infrastructures.
In I.V. Ramakrishnan, editor, Practical Aspects of Declarative Languages, volume 1990 of
Lecture Notes in Computer Science, pages 184–198. Springer Berlin Heidelberg, 2001.
3rd International Symposium (PADL 2001), Las Vegas, NV, USA, 11–12 March 2001.
Proceedings.
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 23 / 26
References
References II
Stefano Mariani and Andrea Omicini.
Coordinating activities and change: An event-driven architecture for situated MAS.
Engineering Applications of Artificial Intelligence, 41:298–309, May 2015.
Sheila Mcilraith and Tran Cao Son.
Adapting GOLOG for composition of Semantic Web Services.
In Dieter Fensel, Fausto Giunchiglia, Deborah L. McGuinness, and Mary-Anne Williams,
editors, 8th International Conference on Principles and Knowledge Representation and
Reasoning (KR-02), pages 482–493. Morgan Kaufmann, 22–25 April 2002.
Andrea Omicini and Franco Zambonelli.
MAS as complex systems: A view on the role of declarative approaches.
In Jo˜ao Alexandre Leite, Andrea Omicini, Leon Sterling, and Paolo Torroni, editors,
Declarative Agent Languages and Technologies, volume 2990 of Lecture Notes in
Computer Science, pages 1–17. Springer, May 2004.
1st International Workshop (DALT 2003), Melbourne, Australia, 15 July 2003. Revised
Selected and Invited Papers.
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 24 / 26
Extras
URLs
Slides
on APICe
→ http://apice.unibo.it/xwiki/bin/view/Talks/LpaasWoa2016
on SlideShare
→ http://www.slideshare.net/andreaomicini/
towards-logic-programming-as-a-service
Paper
on APICe
→ http://apice.unibo.it/xwiki/bin/view/Publications/LpaasWoa2016
on CEUR
→ http://ceur-ws.org/Vol-????/paper ?.pdf
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 25 / 26
Towards Logic Programming as a Service
Experiments in tuProlog
Roberta Calegari Enrico Denti Stefano Mariani Andrea Omicini
{roberta.calegari, enrico.denti, s.mariani, andrea.omicini}@unibo.it
Dipartimento di Informatica – Scienza e Ingegneria (DISI)
Alma Mater Studiorum – Universit`a di Bologna
XVII Workshop “From Objects to Agents” (WOA 2016)
Catania, Italy, 29 July 2016
Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 26 / 26

Contenu connexe

En vedette

IRA's Recommendation letter
IRA's Recommendation letterIRA's Recommendation letter
IRA's Recommendation letterhadiah YASSIN
 
A4 spread2 002 copy
A4 spread2 002 copyA4 spread2 002 copy
A4 spread2 002 copySK Msimang
 
Game Engines to Model MAS: A Research Roadmap
Game Engines to Model MAS: A Research RoadmapGame Engines to Model MAS: A Research Roadmap
Game Engines to Model MAS: A Research RoadmapAndrea Omicini
 
Principal of learning
Principal of learningPrincipal of learning
Principal of learningswati garg
 
06-Traffic Characterization ( Highway and Airport Engineering Dr. Sherif El-B...
06-Traffic Characterization ( Highway and Airport Engineering Dr. Sherif El-B...06-Traffic Characterization ( Highway and Airport Engineering Dr. Sherif El-B...
06-Traffic Characterization ( Highway and Airport Engineering Dr. Sherif El-B...Hossam Shafiq I
 

En vedette (6)

IRA's Recommendation letter
IRA's Recommendation letterIRA's Recommendation letter
IRA's Recommendation letter
 
A4 spread2 002 copy
A4 spread2 002 copyA4 spread2 002 copy
A4 spread2 002 copy
 
Game Engines to Model MAS: A Research Roadmap
Game Engines to Model MAS: A Research RoadmapGame Engines to Model MAS: A Research Roadmap
Game Engines to Model MAS: A Research Roadmap
 
Principal of learning
Principal of learningPrincipal of learning
Principal of learning
 
Livro28
Livro28Livro28
Livro28
 
06-Traffic Characterization ( Highway and Airport Engineering Dr. Sherif El-B...
06-Traffic Characterization ( Highway and Airport Engineering Dr. Sherif El-B...06-Traffic Characterization ( Highway and Airport Engineering Dr. Sherif El-B...
06-Traffic Characterization ( Highway and Airport Engineering Dr. Sherif El-B...
 

Similaire à Towards Logic Programming as a Service: Experiments in tuProlog

Logic Programming in Space-Time: The Case of Situatedness in LPaaS
Logic Programming in Space-Time: The Case of Situatedness in LPaaSLogic Programming in Space-Time: The Case of Situatedness in LPaaS
Logic Programming in Space-Time: The Case of Situatedness in LPaaSGiovanni Ciatto
 
Logic Programming as a Service (LPaaS): Intelligence for the IoT
Logic Programming as a Service (LPaaS): Intelligence for the IoTLogic Programming as a Service (LPaaS): Intelligence for the IoT
Logic Programming as a Service (LPaaS): Intelligence for the IoTAndrea Omicini
 
International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)inventionjournals
 
The Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing ProblemThe Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing ProblemNicole Wells
 
Process, design, implementation and evaluation of a mobile collaboration layer
Process, design, implementation and evaluation of a mobile collaboration layerProcess, design, implementation and evaluation of a mobile collaboration layer
Process, design, implementation and evaluation of a mobile collaboration layerMauro Pichiliani
 
ESE2010 - Living IT Architectures - Eclipse SOA and SOA TLP in Healthcare and...
ESE2010 - Living IT Architectures - Eclipse SOA and SOA TLP in Healthcare and...ESE2010 - Living IT Architectures - Eclipse SOA and SOA TLP in Healthcare and...
ESE2010 - Living IT Architectures - Eclipse SOA and SOA TLP in Healthcare and...SpagoWorld
 
IRJET- Voice to Code Editor using Speech Recognition
IRJET- Voice to Code Editor using Speech RecognitionIRJET- Voice to Code Editor using Speech Recognition
IRJET- Voice to Code Editor using Speech RecognitionIRJET Journal
 
Implementing Enterprise API Management in Oracle Cloud
Implementing Enterprise API Management in Oracle CloudImplementing Enterprise API Management in Oracle Cloud
Implementing Enterprise API Management in Oracle CloudCapgemini
 
Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...
Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...
Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...Codemotion
 
On Engineering Analytics of Elastic IoT Cloud Systems
On Engineering Analytics of Elastic IoT Cloud SystemsOn Engineering Analytics of Elastic IoT Cloud Systems
On Engineering Analytics of Elastic IoT Cloud SystemsHong-Linh Truong
 
Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021NeerajKumar1965
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...SBGC
 
An open source Java code for visualizing supply chain problems
An open source Java code for visualizing supply chain problemsAn open source Java code for visualizing supply chain problems
An open source Java code for visualizing supply chain problemsGurdal Ertek
 
The Malaysian Government Interopersbility Framework For Open Source Software ...
The Malaysian Government Interopersbility Framework For Open Source Software ...The Malaysian Government Interopersbility Framework For Open Source Software ...
The Malaysian Government Interopersbility Framework For Open Source Software ...Linuxmalaysia Malaysia
 
Software solution - Lean development and Agile methodologies lesson 1
Software solution - Lean development and Agile methodologies lesson 1Software solution - Lean development and Agile methodologies lesson 1
Software solution - Lean development and Agile methodologies lesson 1Francesco Mapelli
 
Re-Implementing Apache Thrift using Model-Driven Engineering Technologies: An...
Re-Implementing Apache Thrift using Model-Driven Engineering Technologies: An...Re-Implementing Apache Thrift using Model-Driven Engineering Technologies: An...
Re-Implementing Apache Thrift using Model-Driven Engineering Technologies: An...Dimitris Kolovos
 
Crossing the chasm between ontology engineering and application development
Crossing the chasm between ontology engineering and application developmentCrossing the chasm between ontology engineering and application development
Crossing the chasm between ontology engineering and application developmentPaola Espinoza-Arias
 

Similaire à Towards Logic Programming as a Service: Experiments in tuProlog (20)

Logic Programming in Space-Time: The Case of Situatedness in LPaaS
Logic Programming in Space-Time: The Case of Situatedness in LPaaSLogic Programming in Space-Time: The Case of Situatedness in LPaaS
Logic Programming in Space-Time: The Case of Situatedness in LPaaS
 
Logic Programming as a Service (LPaaS): Intelligence for the IoT
Logic Programming as a Service (LPaaS): Intelligence for the IoTLogic Programming as a Service (LPaaS): Intelligence for the IoT
Logic Programming as a Service (LPaaS): Intelligence for the IoT
 
International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)
 
The Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing ProblemThe Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing Problem
 
Process, design, implementation and evaluation of a mobile collaboration layer
Process, design, implementation and evaluation of a mobile collaboration layerProcess, design, implementation and evaluation of a mobile collaboration layer
Process, design, implementation and evaluation of a mobile collaboration layer
 
ESE2010 - Living IT Architectures - Eclipse SOA and SOA TLP in Healthcare and...
ESE2010 - Living IT Architectures - Eclipse SOA and SOA TLP in Healthcare and...ESE2010 - Living IT Architectures - Eclipse SOA and SOA TLP in Healthcare and...
ESE2010 - Living IT Architectures - Eclipse SOA and SOA TLP in Healthcare and...
 
IRJET- Voice to Code Editor using Speech Recognition
IRJET- Voice to Code Editor using Speech RecognitionIRJET- Voice to Code Editor using Speech Recognition
IRJET- Voice to Code Editor using Speech Recognition
 
Implementing Enterprise API Management in Oracle Cloud
Implementing Enterprise API Management in Oracle CloudImplementing Enterprise API Management in Oracle Cloud
Implementing Enterprise API Management in Oracle Cloud
 
Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...
Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...
Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...
 
On Engineering Analytics of Elastic IoT Cloud Systems
On Engineering Analytics of Elastic IoT Cloud SystemsOn Engineering Analytics of Elastic IoT Cloud Systems
On Engineering Analytics of Elastic IoT Cloud Systems
 
GraphQL for Native Apps
GraphQL for Native AppsGraphQL for Native Apps
GraphQL for Native Apps
 
Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021
 
Software Developer Resume
Software Developer ResumeSoftware Developer Resume
Software Developer Resume
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
 
An open source Java code for visualizing supply chain problems
An open source Java code for visualizing supply chain problemsAn open source Java code for visualizing supply chain problems
An open source Java code for visualizing supply chain problems
 
The Malaysian Government Interopersbility Framework For Open Source Software ...
The Malaysian Government Interopersbility Framework For Open Source Software ...The Malaysian Government Interopersbility Framework For Open Source Software ...
The Malaysian Government Interopersbility Framework For Open Source Software ...
 
Software solution - Lean development and Agile methodologies lesson 1
Software solution - Lean development and Agile methodologies lesson 1Software solution - Lean development and Agile methodologies lesson 1
Software solution - Lean development and Agile methodologies lesson 1
 
Re-Implementing Apache Thrift using Model-Driven Engineering Technologies: An...
Re-Implementing Apache Thrift using Model-Driven Engineering Technologies: An...Re-Implementing Apache Thrift using Model-Driven Engineering Technologies: An...
Re-Implementing Apache Thrift using Model-Driven Engineering Technologies: An...
 
robocity2013-jderobot
robocity2013-jderobotrobocity2013-jderobot
robocity2013-jderobot
 
Crossing the chasm between ontology engineering and application development
Crossing the chasm between ontology engineering and application developmentCrossing the chasm between ontology engineering and application development
Crossing the chasm between ontology engineering and application development
 

Plus de Andrea Omicini

Measuring Trustworthiness in Neuro-Symbolic Integration
Measuring Trustworthiness in Neuro-Symbolic IntegrationMeasuring Trustworthiness in Neuro-Symbolic Integration
Measuring Trustworthiness in Neuro-Symbolic IntegrationAndrea Omicini
 
Explainable Pervasive Intelligence with Self-explaining Agents
Explainable Pervasive Intelligence with Self-explaining AgentsExplainable Pervasive Intelligence with Self-explaining Agents
Explainable Pervasive Intelligence with Self-explaining AgentsAndrea Omicini
 
On the Integration of Symbolic and Sub-symbolic – Explaining by Design
On the Integration of Symbolic and Sub-symbolic – Explaining by DesignOn the Integration of Symbolic and Sub-symbolic – Explaining by Design
On the Integration of Symbolic and Sub-symbolic – Explaining by DesignAndrea Omicini
 
Not just for humans: Explanation for agent-to-agent communication
Not just for humans: Explanation for agent-to-agent communicationNot just for humans: Explanation for agent-to-agent communication
Not just for humans: Explanation for agent-to-agent communicationAndrea Omicini
 
Blockchain for Intelligent Systems: Research Perspectives
Blockchain for Intelligent Systems: Research PerspectivesBlockchain for Intelligent Systems: Research Perspectives
Blockchain for Intelligent Systems: Research PerspectivesAndrea Omicini
 
Injecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MAS
Injecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MASInjecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MAS
Injecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MASAndrea Omicini
 
Conversational Informatics: From Conversational Systems to Communication Inte...
Conversational Informatics: From Conversational Systems to Communication Inte...Conversational Informatics: From Conversational Systems to Communication Inte...
Conversational Informatics: From Conversational Systems to Communication Inte...Andrea Omicini
 
Complexity in computational systems: the coordination perspective
Complexity in computational systems: the coordination perspectiveComplexity in computational systems: the coordination perspective
Complexity in computational systems: the coordination perspectiveAndrea Omicini
 
Nature-inspired Coordination: Current Status and Research Trends
Nature-inspired Coordination: Current Status and Research TrendsNature-inspired Coordination: Current Status and Research Trends
Nature-inspired Coordination: Current Status and Research TrendsAndrea Omicini
 
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...Andrea Omicini
 
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...Andrea Omicini
 
Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...
Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...
Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...Andrea Omicini
 
ABMS in m-Health Self-Management
ABMS in m-Health Self-ManagementABMS in m-Health Self-Management
ABMS in m-Health Self-ManagementAndrea Omicini
 
Multi-paradigm Coordination for MAS
Multi-paradigm Coordination for MASMulti-paradigm Coordination for MAS
Multi-paradigm Coordination for MASAndrea Omicini
 
Spatial Multi-Agent Systems
Spatial Multi-Agent SystemsSpatial Multi-Agent Systems
Spatial Multi-Agent SystemsAndrea Omicini
 
Foundations of Multi-Agent Systems
Foundations of Multi-Agent SystemsFoundations of Multi-Agent Systems
Foundations of Multi-Agent SystemsAndrea Omicini
 
Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...
Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...
Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...Andrea Omicini
 
Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...
Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...
Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...Andrea Omicini
 
Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...
Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...
Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...Andrea Omicini
 
Blending Event-Based and Multi-Agent Systems around Coordination Abstractions
Blending Event-Based and Multi-Agent Systems around Coordination AbstractionsBlending Event-Based and Multi-Agent Systems around Coordination Abstractions
Blending Event-Based and Multi-Agent Systems around Coordination AbstractionsAndrea Omicini
 

Plus de Andrea Omicini (20)

Measuring Trustworthiness in Neuro-Symbolic Integration
Measuring Trustworthiness in Neuro-Symbolic IntegrationMeasuring Trustworthiness in Neuro-Symbolic Integration
Measuring Trustworthiness in Neuro-Symbolic Integration
 
Explainable Pervasive Intelligence with Self-explaining Agents
Explainable Pervasive Intelligence with Self-explaining AgentsExplainable Pervasive Intelligence with Self-explaining Agents
Explainable Pervasive Intelligence with Self-explaining Agents
 
On the Integration of Symbolic and Sub-symbolic – Explaining by Design
On the Integration of Symbolic and Sub-symbolic – Explaining by DesignOn the Integration of Symbolic and Sub-symbolic – Explaining by Design
On the Integration of Symbolic and Sub-symbolic – Explaining by Design
 
Not just for humans: Explanation for agent-to-agent communication
Not just for humans: Explanation for agent-to-agent communicationNot just for humans: Explanation for agent-to-agent communication
Not just for humans: Explanation for agent-to-agent communication
 
Blockchain for Intelligent Systems: Research Perspectives
Blockchain for Intelligent Systems: Research PerspectivesBlockchain for Intelligent Systems: Research Perspectives
Blockchain for Intelligent Systems: Research Perspectives
 
Injecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MAS
Injecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MASInjecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MAS
Injecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MAS
 
Conversational Informatics: From Conversational Systems to Communication Inte...
Conversational Informatics: From Conversational Systems to Communication Inte...Conversational Informatics: From Conversational Systems to Communication Inte...
Conversational Informatics: From Conversational Systems to Communication Inte...
 
Complexity in computational systems: the coordination perspective
Complexity in computational systems: the coordination perspectiveComplexity in computational systems: the coordination perspective
Complexity in computational systems: the coordination perspective
 
Nature-inspired Coordination: Current Status and Research Trends
Nature-inspired Coordination: Current Status and Research TrendsNature-inspired Coordination: Current Status and Research Trends
Nature-inspired Coordination: Current Status and Research Trends
 
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
 
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
 
Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...
Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...
Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...
 
ABMS in m-Health Self-Management
ABMS in m-Health Self-ManagementABMS in m-Health Self-Management
ABMS in m-Health Self-Management
 
Multi-paradigm Coordination for MAS
Multi-paradigm Coordination for MASMulti-paradigm Coordination for MAS
Multi-paradigm Coordination for MAS
 
Spatial Multi-Agent Systems
Spatial Multi-Agent SystemsSpatial Multi-Agent Systems
Spatial Multi-Agent Systems
 
Foundations of Multi-Agent Systems
Foundations of Multi-Agent SystemsFoundations of Multi-Agent Systems
Foundations of Multi-Agent Systems
 
Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...
Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...
Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...
 
Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...
Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...
Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...
 
Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...
Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...
Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...
 
Blending Event-Based and Multi-Agent Systems around Coordination Abstractions
Blending Event-Based and Multi-Agent Systems around Coordination AbstractionsBlending Event-Based and Multi-Agent Systems around Coordination Abstractions
Blending Event-Based and Multi-Agent Systems around Coordination Abstractions
 

Dernier

All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptMAESTRELLAMesa2
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRDelhi Call girls
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |aasikanpl
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksSérgio Sacani
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 sciencefloriejanemacaya1
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfSumit Kumar yadav
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Patrick Diehl
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PPRINCE C P
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bSérgio Sacani
 
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...jana861314
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCEPRINCE C P
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 

Dernier (20)

All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.ppt
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 science
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C P
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 

Towards Logic Programming as a Service: Experiments in tuProlog

  • 1. Towards Logic Programming as a Service Experiments in tuProlog Roberta Calegari Enrico Denti Stefano Mariani Andrea Omicini {roberta.calegari, enrico.denti, s.mariani, andrea.omicini}@unibo.it Dipartimento di Informatica – Scienza e Ingegneria (DISI) Alma Mater Studiorum – Universit`a di Bologna XVII Workshop “From Objects to Agents” (WOA 2016) Catania, Italy, 29 July 2016 Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 1 / 26
  • 2. Outline 1 Scope & Goals 2 Logic Programming as a Service (LPaaS) 3 tuProlog as a Service (2PaaS) on iOS 4 Application Scenarios 5 Related Work 6 Conclusion & Further Work Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 2 / 26
  • 3. Scope & Goals Outline 1 Scope & Goals 2 Logic Programming as a Service (LPaaS) 3 tuProlog as a Service (2PaaS) on iOS 4 Application Scenarios 5 Related Work 6 Conclusion & Further Work Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 3 / 26
  • 4. Scope & Goals Context & Motivation Context Challenges of today’s pervasive system [MO15] complex distributed situated intelligent distributed situated intelligence light-weight, effective intelligence chunks placed where and when needed to locally tackle the specific reasoning needs Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 4 / 26
  • 5. Scope & Goals Context & Motivation Motivations Complex Internet-of-Things (IoT) scenarios mobility/cloud ecosystem infrastructure, platforms, and software as a service enabling people to benefit from ubiquitous information access Role of logic-based languages Multiple, distributed Prolog engines intelligence providers technology integrators [OZ04] Logic Programming as a Service (LPaaS) Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 5 / 26
  • 6. Scope & Goals tuProlog in a Nutshell tuProlog [DOR01, DOC13] light-weight, minimal, easily deployable dynamically configurable inter-operable multi-paradigm, multi-language, multi-platform Java, .NET, Android, iOS open-source @ http://tuprolog.unibo.it Minimality tuProlog core contains just the Prolog engine essentials ↑ other features via libraries Easy deployability e.g., JAR archive/.NET assembly made available at the desired location – Android/iOS app (via the Android/iOS installer) Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 6 / 26
  • 7. Logic Programming as a Service (LPaaS) Outline 1 Scope & Goals 2 Logic Programming as a Service (LPaaS) 3 tuProlog as a Service (2PaaS) on iOS 4 Application Scenarios 5 Related Work 6 Conclusion & Further Work Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 7 / 26
  • 8. Logic Programming as a Service (LPaaS) Architecture LPaaS Architecture Logic Programming as a Service (LPaaS) Presumably at the SaaS level Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 8 / 26
  • 9. Logic Programming as a Service (LPaaS) Interface & API LPaaS Interface & API (Local) API create engine to instantiate a dedicated engine reset engine to reset the engine to the initial state and possibly the empty knowledge base set theory to load the knowledge base into the engine query to submit queries and retrieve (possibly multiple) results Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 9 / 26
  • 10. tuProlog as a Service (2PaaS) on iOS Outline 1 Scope & Goals 2 Logic Programming as a Service (LPaaS) 3 tuProlog as a Service (2PaaS) on iOS 4 Application Scenarios 5 Related Work 6 Conclusion & Further Work Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 10 / 26
  • 11. tuProlog as a Service (2PaaS) on iOS Architecture 2PaaS Architecture tuProlog as a Service (2PaaS) on iOS is embedded in a tuProlog app acting as the service provider for all other applications running on the mobile device Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 11 / 26
  • 12. tuProlog as a Service (2PaaS) on iOS Interface & API 2PaaS Interface & API I API create engine implicit—just embedded in the first call to the service reset engine mapped onto the 2P reset primitive set theory mapped onto the 2P theory primitive query mapped onto a set of 2P primitives—namely, query to issue the query, result and solution to retrieve the query result, and nextSol to explore further solutions iOS built-in URL scheme functionality simple and effective way for application inter-communication ↑ via a user-defined, URL-based protocol Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 12 / 26
  • 13. tuProlog as a Service (2PaaS) on iOS Interface & API 2PaaS Interface & API II tuProlog app URL scheme tuPrologMobile://?src=srcURL&command=argument&dst=dstURL srcURL is the client URL scheme command is one of theory, query, nextSol, reset, with argument respectively being theory, query (the text of the query) dstURL is the URL scheme of the client to which the result should be sent, possibly different from srcURL Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 13 / 26
  • 14. tuProlog as a Service (2PaaS) on iOS Interface & API 2PaaS Interface & API III Query result returned by the tuProlog service dstURL://command=commandresult dstURL is the URL scheme of the client receiving the result command is either result, solution, nextSol, or reset, with the respective commandresult Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 14 / 26
  • 15. Application Scenarios Outline 1 Scope & Goals 2 Logic Programming as a Service (LPaaS) 3 tuProlog as a Service (2PaaS) on iOS 4 Application Scenarios 5 Related Work 6 Conclusion & Further Work Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 15 / 26
  • 16. Application Scenarios The “Derivative” Case Study The “Derivative” Case Study The symbolic derivative query, and its result on iPhone and iWatch Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 16 / 26
  • 17. Application Scenarios The Multi-language Case Study The Multi-language Toy Example exploiting tuProlog multi-paradigm programming support (OOLibrary) Swift or Objective-C apps interacting with Java entities Swift app creates Java objects, calls methods, and elaborates the (Java) result back in Swift Example query a Java string member(X,[a,d]). is bound to the Prolog var Q then a Java Prolog engine is bound to the Prolog var P P is used to solve the query Q the result is bound to the Prolog var S the result is converted to a Java string via toString then it is bound to the final result to the Prolog var SOL the result is printed by the Swift app on its console Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 17 / 26
  • 18. Application Scenarios Complex Pervasive Systems Towards Home Intelligence need for situatedness—i.e., smart fridge, geo-localised reasoning instability of the connection limits to the availability of bandwidth and computational power Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 18 / 26
  • 19. Related Work Outline 1 Scope & Goals 2 Logic Programming as a Service (LPaaS) 3 tuProlog as a Service (2PaaS) on iOS 4 Application Scenarios 5 Related Work 6 Conclusion & Further Work Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 19 / 26
  • 20. Related Work Related Work [CH01] — PiLLoW library (Programming in Logic Languages on the Web): developed in Ciao Prolog and available for SWI-Prolog, SICStus Prolog, and YAP and Ciao [MS02] — Logic programming for the composition of Semantic Web Services [BGHK97] — ALP-Prolog library aiming at embedded HTTP servers for controlling appliances Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 20 / 26
  • 21. Conclusion & Further Work Outline 1 Scope & Goals 2 Logic Programming as a Service (LPaaS) 3 tuProlog as a Service (2PaaS) on iOS 4 Application Scenarios 5 Related Work 6 Conclusion & Further Work Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 21 / 26
  • 22. Conclusion & Further Work Conclusions Distributed light-weight logic programming engines for pervasive and situated systems → modular, multi-platform, and multi-language logic engine → LPaaS → tuProlog as a service (2PaaS) on iOS Further Work precisely defining and further extending the LPaaS paradigm providing logic engines within SOA – e.g., tuProlog as a RESTful web service designing the architecture of a general-purpose Prolog middleware building a full-fledged specialised tuProlog middleware Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 22 / 26
  • 23. References References I Manfred Bathelt, Ulrich Gall, Bernd Hindel, and Christian Kurzke. Accessing embedded systems via WWW: The ProWeb toolset. Computer Networks and ISDN Systems, 29(8-13):1065–1073, September 1997. Papers from the 6th International World Wide Web Conference. Daniel Cabeza and Manuel V. Hermenegildo. Distributed WWW programming using (Ciao-) Prolog and the PilloW library. Theory and Practice of Logic Programming, 1(3):251–282, May 2001. Enrico Denti, Andrea Omicini, and Roberta Calegari. tuProlog: Making Prolog ubiquitous. ALP Newsletter, October 2013. Enrico Denti, Andrea Omicini, and Alessandro Ricci. tuProlog: A light-weight Prolog for Internet applications and infrastructures. In I.V. Ramakrishnan, editor, Practical Aspects of Declarative Languages, volume 1990 of Lecture Notes in Computer Science, pages 184–198. Springer Berlin Heidelberg, 2001. 3rd International Symposium (PADL 2001), Las Vegas, NV, USA, 11–12 March 2001. Proceedings. Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 23 / 26
  • 24. References References II Stefano Mariani and Andrea Omicini. Coordinating activities and change: An event-driven architecture for situated MAS. Engineering Applications of Artificial Intelligence, 41:298–309, May 2015. Sheila Mcilraith and Tran Cao Son. Adapting GOLOG for composition of Semantic Web Services. In Dieter Fensel, Fausto Giunchiglia, Deborah L. McGuinness, and Mary-Anne Williams, editors, 8th International Conference on Principles and Knowledge Representation and Reasoning (KR-02), pages 482–493. Morgan Kaufmann, 22–25 April 2002. Andrea Omicini and Franco Zambonelli. MAS as complex systems: A view on the role of declarative approaches. In Jo˜ao Alexandre Leite, Andrea Omicini, Leon Sterling, and Paolo Torroni, editors, Declarative Agent Languages and Technologies, volume 2990 of Lecture Notes in Computer Science, pages 1–17. Springer, May 2004. 1st International Workshop (DALT 2003), Melbourne, Australia, 15 July 2003. Revised Selected and Invited Papers. Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 24 / 26
  • 25. Extras URLs Slides on APICe → http://apice.unibo.it/xwiki/bin/view/Talks/LpaasWoa2016 on SlideShare → http://www.slideshare.net/andreaomicini/ towards-logic-programming-as-a-service Paper on APICe → http://apice.unibo.it/xwiki/bin/view/Publications/LpaasWoa2016 on CEUR → http://ceur-ws.org/Vol-????/paper ?.pdf Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 25 / 26
  • 26. Towards Logic Programming as a Service Experiments in tuProlog Roberta Calegari Enrico Denti Stefano Mariani Andrea Omicini {roberta.calegari, enrico.denti, s.mariani, andrea.omicini}@unibo.it Dipartimento di Informatica – Scienza e Ingegneria (DISI) Alma Mater Studiorum – Universit`a di Bologna XVII Workshop “From Objects to Agents” (WOA 2016) Catania, Italy, 29 July 2016 Calegari, Denti, Mariani, Omicini (UniBo) Towards Logic Programming as a Service WOA 2016, 29/07/2016 26 / 26