Your SlideShare is downloading. ×
0
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
A Multi-theory Logic Language for the World Wide Web
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

A Multi-theory Logic Language for the World Wide Web

882

Published on

Despite the recent formalization of the Web in terms of Representational State Transfer (REST) architectural style and Resource-Oriented Architecture (ROA), current tools for Web programming generally …

Despite the recent formalization of the Web in terms of Representational State Transfer (REST) architectural style and Resource-Oriented Architecture (ROA), current tools for Web programming generally misunderstand its design. Based on REST/ROA insights, we claim that logic languages are suited for promoting the Web architecture and principles. The mapping of REST/ROA abstractions onto elements of Contextual Logic Programming also permits runtime modification of resource behavior. In this paper we present Web Logic Programming as a Prolog-based language for the Web embedding REST/ROA principles, meant to be the basis of an application framework for rapid prototyping.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
882
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. A Multi-theory Logic Language for the World Wide Web Giulio Piancastelli and Andrea Omicini 24th International Conference on Logic Programming (ICLP 2008) Udine, December 9-13, 2008
  • 2. Purpose Bring principles, abstractions, and insights from the Web architecture to research on the use of logic programming for Web application prototyping
  • 3. Resource Any conceptual target of a hypertext reference Composed of: • identifier (URI) • data • behavior
  • 4. http://example.com/sales/2004/Q4
  • 5. http://example.com/sales/2004/Q4 R T(R) f(a). r(P, Q) :- s(P), t(Q).
  • 6. http://example.com/sales/2004/Q4 http://example.com/sales/2004/ R R1 T(R) T(R1)
  • 7. http://example.com/sales/2004/Q4 http://example.com/sales/2004/ R http://example.com/sales/ R1 T(R) R2 T(R1) T(R2)
  • 8. http://example.com/sales/2004/Q4 http://example.com/sales/2004/ R http://example.com/sales/ R1 T(R) R2 T(R1) T(R2)
  • 9. http://example.com/sales/2004/Q4 http://example.com/sales/2004/ R http://example.com/sales/ R1 T(R) R2 T(R1) T(R2) R http://example.com/sales/Q42004/
  • 10. 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
  • 11. HTTP GET /sales/2004/Q4 HTTP/1.1 Host: example.com
  • 12. HTTP GET /sales/2004/Q4 HTTP/1.1 Host: example.com Method Information: how the receiver has to process the request '/sales/2004/Q4' : get(Request, Response, View).
  • 13. HTTP GET /sales/2004/Q4 HTTP/1.1 Host: example.com Scope Information: the data where the receiver should operate the method '/sales/2004/Q4' : get(Request, Response, View).
  • 14. /r2/r1/r R T(R) get(_, _, V) :- a, b, c(V). a :- p, q, r.
  • 15. /r2/r1 /r2/r1/r R1 R T(R) get(_, _, V) :- a, b, c(V). a :- p, q, r.
  • 16. / /r2 /r2/r1 /r2/r1/r root R2 R1 R T(root) T(R) p :- x, y, z. get(_, _, V) :- x. a, b, c(V). a :- p, q, r.
  • 17. / /r2 /r2/r1 /r2/r1/r root R2 R1 R T(root) T(R) p :- x, y, z. get(_, _, V) :- x. a, b, c(V). a :- p, q, r.
  • 18. 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.
  • 19. 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.
  • 20. A Multi-theory Logic Language for the World Wide Web Giulio Piancastelli and Andrea Omicini 24th International Conference on Logic Programming (ICLP 2008) Udine, December 9-13, 2008

×