The Computational logic, Languages, Implementation, and Parallelism Laboratory


Ciao WEBCHAT Intro

Welcome to the Ciao WEBCHAT system. This system is basically a WWW interface to a distributed natural language processing program. It was developed to illustrate:
  • PiLLoW, a library for developing WWW applications using LP and CLP systems that we have developed in our group (the CLIP Lab), and,
  • The concurrency and distributed programming capabilities of the Ciao (Constraint) Logic Programming system (for which some more information is given below and in the Ciao distribution site).
The natural language subsystem itself is is an adaptation of the classical CHAT program which was written in Prolog by D.H.D. Warren and L. Pereira. It can answer many questions written in English in a limited domain: geography. WEBCHAT is essentially a distributed version of CHAT with a WWW front end. Both WEBCHAT and the WWW interface have been written in the Ciao language (but the html_pl library can be used with any LP or CLP system).

Ciao is a public domain, next generation concurrent constraint language and program development system developed by us (initially within the ACCLAIM (EP 7195) project). Ciao allows the user to program in the styles of Prolog (it supports full ISO-Prolog) and CLP (constraint logic programming -- in particular CLP(R) and CLP(Q)). At the same time Ciao also allows very high level concurrent and distributed programming. Its execution model is also capable of exploiting parallelism for performance. All these modes of operation are illustrated in the WEBCHAT demo: queries prepared by the WWW form are processed by a Ciao client, which connects to a WEBCHAT server, also written in Ciao. The Ciao server can use its local geographic database or use remote databases, which have additional information on particular topics (such as rivers, countries, etc.). Also, the system can use workstations on our local network transparently to increase performance, speeding up the handling of queries (note, however, that this and other features may be disabled at times to avoid increasing the load on our systems). All of these modes of operation are smoothly integrated within the same language and system.

Please send any comments to Manuel Hermenegildo, <> or to the CLIP Lab webmaster <>