a multi-theory logic language for the world wide web
Post on 31-Aug-2014
1.858 Views
Preview:
DESCRIPTION
TRANSCRIPT
A Multi-theory Logic Language for the World Wide Web
Giulio Piancastelli and Andrea Omicini24th International Conference on Logic Programming (ICLP 2008)
Udine, December 9-13, 2008
Purpose
Bring principles, abstractions, and insights from the Web architecture to research on the use of logic programming for Web application prototyping
Resource
Any conceptual target of a hypertext reference
Composed of:• identifier (URI)• data• behavior
http://example.com/sales/2004/Q4
http://example.com/sales/2004/Q4
f(a).r(P, Q) :- s(P), t(Q).
R
T(R)
http://example.com/sales/2004/Q4
Rhttp://example.com/sales/2004/
R1
T(R1)
T(R)
http://example.com/sales/
R2
http://example.com/sales/2004/Q4
Rhttp://example.com/sales/2004/
R1
T(R1)
T(R)
T(R2)
http://example.com/sales/2004/Q4
Rhttp://example.com/sales/2004/
R1
T(R1)
T(R)http://example.com/sales/
R2
T(R2)
R
http://example.com/sales/Q42004/
http://example.com/sales/2004/Q4
Rhttp://example.com/sales/2004/
R1
T(R1)
T(R)http://example.com/sales/
R2
T(R2)
Implicit Resources
Resources representing recurring concepts in Web development that are always attached to the bottom of any context• the session with the application• the user
• the application itself• the deployment environment
HTTP
GET /sales/2004/Q4 HTTP/1.1Host: example.com
HTTP
GET /sales/2004/Q4 HTTP/1.1Host: example.com
Method Information: how thereceiver has to process therequest
'/sales/2004/Q4' : get(Request, Response, View).
HTTP
GET /sales/2004/Q4 HTTP/1.1Host: example.com
Scope Information: the datawhere the receiver shouldoperate the method
'/sales/2004/Q4' : get(Request, Response, View).
/r2/r1/r
get(_, _, V) :- a, b, c(V).a :- p, q, r.
R
T(R)
/r2/r1
R1
/r2/r1/r
get(_, _, V) :- a, b, c(V).a :- p, q, r.
R
T(R)
/r2
R2
/
root
/r2/r1
R1
/r2/r1/r
get(_, _, V) :- a, b, c(V).a :- p, q, r.
R
T(R)
p :- x, y, z.x.
T(root)
/r2
R2
/
root
/r2/r1
R1
/r2/r1/r
get(_, _, V) :- a, b, c(V).a :- p, q, r.
R
T(R)
p :- x, y, z.x.
T(root)
Dynamic Resource Behavior (1)
Two or more URIs can be associated to the same resource: resources may live in different contexts at the same time and feature different behavior according to the context where the computation takes place.
Dynamic Resource Behavior (2)
Behavioral rules are expressed as first-class abstractions in logic programming languages, where programs can be treated as data: the HTTP protocol allows changing resource data by using the PUT method, so that runtime behavioral changes of a resource in a context are possible.
A Multi-theory Logic Language for the World Wide Web
Giulio Piancastelli and Andrea Omicini24th International Conference on Logic Programming (ICLP 2008)
Udine, December 9-13, 2008
top related