WWW Programming using computational logic systems (and the PiLLoW/Ciao library)

We discuss from a practical point of view a number of issues involved in writing Internet and WWW applications using LP/CLP systems. We describe Pd_l_oW, a public-domain Internet and WWW programming library for LP/CLP systems which we argue significantly simplifies the process of writing such applications. Pd_l_oW provides facilities for generating HTML structured documents, producing HTML forms, writing form handlers, accessing and parsing WWW documents, and accessing code posted at HTTP addresses. We also describe the architecture of some application classes, using a high-level model of client-server interaction, active modules. We then propose an architecture for automatic LP/CLP code downloading for local execution, using generic browsers. Finally, we also provide an overview of related work on the topic. The PiLLoW library has been developed in the context of the &- Prolog and CIAO systems, but it has been adapted to a number of popular LP/CLP systems, supporting most of its functionality.

[1]  Manuel V. Hermenegildo,et al.  The &-Prolog system: Exploiting independent and-parallelism , 1991, New Generation Computing.

[2]  Serge Le Huitouze A New Data Structure for Implementing Extensions to Prolog , 1990, PLILP.

[3]  Mats Carlsson,et al.  SICStus Prolog User''s Manual , 1993 .

[4]  David H. D. Warren,et al.  An Efficient Easily Adaptable System for Interpreting Natural Language Queries , 1982, CL.

[5]  Tim Berners-Lee,et al.  The World-Wide Web , 1994, CACM.

[6]  Gert Smolka,et al.  The Definition of Kernel Oz , 1994, Constraint Programming.

[7]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[8]  Manuel V. Hermenegildo,et al.  Implementing Distributed Concurrent Constraint Execution in the CIAO System , 1996, APPIA-GULP-PRODE.

[9]  Koen De Bosschere,et al.  Virtual World Brokerage with BinProlog and Netscape , 1996 .

[10]  Seng Wai Loke,et al.  Logic programming with the World-Wide Web , 1996, HYPERTEXT '96.

[11]  Pascal Van Hentenryck,et al.  Solving Large Combinatorial Problems in Logic Programming , 1990, J. Log. Program..

[12]  Seif Haridi,et al.  Programming Paradigms of the Andorra Kernel Language , 1991, ISLP.

[13]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[14]  Manuel V. Hermenegildo,et al.  Using Attributed Variables in the Implementation of Concurrent and Parallel Logic Programming Systems , 1995, ICLP.

[15]  Robert A. Kowalski,et al.  Predicate Logic as Programming Language , 1974, IFIP Congress.

[16]  Manuel V. Hermenegildo,et al.  The CIAO Multi-Dialect Compiler and System: An Experimentation Workbench for Future (C)LP Systems , 1995, APPIA-GULP-PRODE.

[17]  Takashi Chikayama,et al.  A Portable and Efficient Implementation of KL1 , 1994, PLILP.

[18]  Alain Colmerauer,et al.  An introduction to Prolog III , 1989, CACM.

[19]  Manuel V. Hermenegildo,et al.  Some methodological issues in the design of CIAO, a generic, parallel concurrent constraint system , 1994 .

[20]  Leon Sterling,et al.  Lightweight deductive databases on the world-wide web , 1996 .

[21]  Manuel V. Hermenegildo,et al.  The PiLLoW/Ciao library for INTERNET/WWW programming using computational logic systems , 1996 .