A LOGIC PROGRAMMING MODEL FOR WEB RESOURCES

Giulio Piancastelli, Andrea Omicini

2008

Abstract

In the latest years, substantial achievements have been obtained in the description and formalization of the architectural principles and design criteria underlying the World Wide Web. First, the Representational State Transfer (REST) architectural style for distributed hypermedia systems was introduced, defining the resource as the key abstraction of information; then, the Resource-Oriented Architecture (ROA) was presented as a REST-based set of guidelines and best practices for implementing services on Web resources. However, a resource programming model is still missing, since procedural and object-oriented web programming focussed on different abstractions, such as page, controller, and service. Instead, we adopt the logic declarative paradigm to define our model for resource-oriented programming, also showing how its peculiar features lead to novel possibilities for dynamic modification and extension of resource behavior at runtime. In this paper, we first map novel REST and ROA abstractions onto elements of structured logic programming. Then, we present Web Logic Programming as a Prolog-based language for the World Wide Web embedding the core REST and ROA principles, by defining its computation model and discussing a bookshelf sharing web application example.

References

  1. Alonso, G., Casati, F., Kuno, H., and Machiraju, V. (2003). Web Services: Concepts, Architectures and Applications. Springer-Verlag.
  2. Berners-Lee, T., Fielding, R. T., and Mainster, L. (1998). Uniform Resource Identifiers (URI): Generic Syntax. Internet RFC 2396.
  3. Brogi, A., Mancarella, P., Pedreschi, D., and Turini, F. (1994). Modular Logic Programming. ACM Transactions on Programming Languages and Systems, 16(3):1361-1398.
  4. Bugliesi, M., Lamma, E., and Mello, P. (1994). Modularity in logic programming. Journal of Logic Programming, 19-20:443-502.
  5. Fielding, R. T. (2000). Architectural Styles and the Design of Network-based Software Architectures. PhD thesis, University of California, Irvine.
  6. Fielding, R. T., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and Berners-Lee, T. (1999). Hypertext Transfer Protocol - HTTP/1.1. Internet RFC 2616.
  7. Lerdorf, R., Tatroe, K., and MacIntyre, P. (2006). Programming PHP. O'Reilly.
  8. Loke, S. W. (1998). Adding Logic Programming Behaviour to the World Wide Web. PhD thesis, University of Melbourne, Australia.
  9. Mello, P. and Natali, A. (1992). Extending Prolog with Modularity, Concurrency and Metarules. New Generation Computing, 10(4):335-360.
  10. Monteiro, L. and Porto, A. (1993). A Language for Contextual Logic Programming. In Logic Programming Languages: Constraints, Functions, and Objects. The MIT Press.
  11. Omicini, A. and Natali, A. (1994). Object-oriented computations in logic programming. In Tokoro, M. and Pareschi, R., editors, Object-Oriented Programming, volume 821 of LNCS, pages 194-212. SpringerVerlag. 8th European Conference (ECOOP'94), Bologna, Italy, 4-8 July 1994. Proceedings.
  12. Ramamohanarao, K. and Harland, J. (1994). An introduction to deductive database languages and systems. The VLDB Journal, 3(2):107-122.
  13. Richardson, L. and Ruby, S. (2007). RESTful Web Services. O'Reilly.
  14. SC22, J. T. C. I. J. (2000). Information technology - Programming languages - Prolog - Part 2: Modules. International Standard ISO/IEC 13211-2.
  15. Sterling, L. and Shapiro, E. (1986). The Art of Prolog. The MIT Press.
  16. Thomas, D., Heinemeier Hansson, D., Breedt, L., Clark, M., Davidson, J. D., Gehtland, J., and Schwarz, A. (2006). Agile Web Development with Rails. Pragmatic Bookshelf.
Download


Paper Citation


in Harvard Style

Piancastelli G. and Omicini A. (2008). A LOGIC PROGRAMMING MODEL FOR WEB RESOURCES . In Proceedings of the Fourth International Conference on Web Information Systems and Technologies - Volume 1: WEBIST, ISBN 978-989-8111-26-5, pages 158-164. DOI: 10.5220/0001524501580164


in Bibtex Style

@conference{webist08,
author={Giulio Piancastelli and Andrea Omicini},
title={A LOGIC PROGRAMMING MODEL FOR WEB RESOURCES},
booktitle={Proceedings of the Fourth International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,},
year={2008},
pages={158-164},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0001524501580164},
isbn={978-989-8111-26-5},
}


in EndNote Style

TY - CONF
JO - Proceedings of the Fourth International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,
TI - A LOGIC PROGRAMMING MODEL FOR WEB RESOURCES
SN - 978-989-8111-26-5
AU - Piancastelli G.
AU - Omicini A.
PY - 2008
SP - 158
EP - 164
DO - 10.5220/0001524501580164