AITEC Contract Research Projects in FY1998 : Proposal

(7) WEB-KLIC: A Concurrent Logic-based Unified Framework for Internet Programming

Principal Investigator : Dr. Enrico Pontelli, Assistant Professor
Laboratory for Logic, Databases, and Advanced Programming,
Department of Computer Science, New Mexico State University



[Contents]

  1. Name of the software to be improved
  2. Project participants, Research method
  3. Results of the brushup


[Name of the software to be improved]

(1) Name of the software

WEB-KLIC: A Concurrent Logic-based Unified Framework for Internet Programming

(2) Category of the software

Software of AITEC's contract research project in FY 1997



[Project participants, Research method]

(1) Project participants

NameAffiliation
Principal investigator Enrico Pontelli Department of Computer Science,
New Mexico State University
Collaborating researchers Gopal Gupta Department of Computer Science,
New Mexico State University

(2) Research method

The methodology we will adopt in the brushup phase of the WEB-KLIC project is based on refinements of the existing software and documentation. During the FY 97 we have developed and tested the lower layers of the WEB-KLIC system -- which allow HTTP-based communication, symbolic manipulation of HTML documents, interaction with NCSA Mosaic browser, and set up and communication via Common Gateway Interface (CGI). The goal of the here proposed brushup phase is to add abstract APIs and simple extensions to make the use of WEB-KLIC more abstract and more accessible to a wider community of developers. In particular we propose to

(a) introduce an abstract API to the CGI facilities of WEB-KLIC -- realized through simple modifications to the compiler -- which simplifies the creation of user-defined servers;
(b) port the browser interface facilities from NCSA Mosaic to Netscape and create an abstract API to express client-side computations;
(c) add two new sections (a Tutorial section and an Internals section) to the User Manual.

The activities in steps (a) and (c) will not introduce additional functionalities -- they will just simplify the use of the system -- while step (b) will introduce some novel components in the language.

We will also reorganize the code to facilitate installation on different platforms and environments.

Part of the research to achieve these goals has already been performed during the last months and not yet integrated in the official release of WEB-KLIC -- we are very committed to make WEB-KLIC a valuable software development tool for Internet. In this sense, the Brush-up support from AITEC would allow us to dedicate to this project the time necessary to complete this few missing components. The extensions we are suggesting are not difficult, but will be the key to make WEB-KLIC more abstract and more accessible -- and definitely a very competitive tool for Internet programming.



[Results of the brushup]

Improvement of Operability

The current release of WEB-KLIC includes a collection of predicates (cgi module) which represents the foundations for developing applications which communicate with client browsers via the Common Gateway Interface (CGI) [Pontelli 98 b] . Nevertheless, these predicates lie at a level of abstraction which is still one step lower than desired -- the ideal is a complete automatic generation of all the components of a CGI application (e.g., generation of CGI scripts, hiding of the communication aspects). What we propose in this part of the brushup activity is to build an abstract API which allows the realization of the final layer for server-side execution of CGI applications. This will considerably simplify the task of developing complex Internet servers.

A user interested in developing an application which runs on the server side and accepts incoming requests from client browsers will proceed as follows:

Thus, the programmer does not need to deal with any other aspect of handling CGI communication. It is important to observe that this level of abstraction can be easily built using the predicates already present in WEB-KLIC -- as a simple extension to the compiler and the use of a collection of syntactic extensions based on existing WEB-KLIC CGI predicates. The code generated by the compiler will have client/server structure described in the first release of WEB-KLIC.

Preliminary components of this extension have already been realized by the PIs after the completion of the first release of the software [Pontelli 98 a] -- and not yet integrated with the official WEB-KLIC release.

An additional step to improve operability will be a code structure reorganization and creation of new makefile to allow easy installation on different platforms.

Expansion of User's Manual and Examples

We would like to

Anticipated users and how attractive for those users

The target pool of users of WEB-KLIC is represented by software developers who want to either create new sophisticated Internet-based applications or Web-enable existing applications. The inherent features of KLIC -- concurrency and symbolic processing capabilities -- merged with the Internet manipulation features of WEB-KLIC, allow development of complex applications operating on the World Wide Web. Although there have been a number of proposals regarding the use of computational logic for Internet applications, WEB-KLIC is arguably one of the most general tools currently available -- and indeed we have demonstrated [Pontelli 97] that WEB-KLIC subsumes many of the existing proposals.

The preliminary prototype of WEB-KLIC has been recently presented at an international conference [Pontelli 97] , with a very positive feedback. Numerous AI researchers have demonstrated interest in using this tool for porting existing applications to the Web.

Additionally, we have recently proposed WEB-KLIC as the core language for the development of a large-scale digital library to handle distributed collections of technical reports at Los Alamos National Laboratories [Hartley 98] . WEB-KLIC will be used to handle communication between different sites of the library, to process documents' metadata, and to coordinate document processing applications (a statistical natural language component will be developed to handle document segmentation and topic identification). Our exploratory study [Hartley 98] indicates that WEB-KLIC provides ideal features for digital library applications -- a very important area of research which still lacks of basic software tools. The brushup proposed in this project is partly aimed at the needs of this user community.

Improvement of functionality of the software

One component that is only partially developed in WEB-KLIC is the ability to handle client-side computations. This involves giving WEB-KLIC the ability to embed procedures in HTML documents and perform adequate processing of these procedures at the client-side. This feature is important for various classes of applications (e.g., digital libraries). This feature is only partially present in the existing release of WEB-KLIC, and relies on the use of the NCSA Mosaic browser -- a very obsolete and no-longer maintained tool.

Figure 1: Client-Side Component of WEB-KLIC

In the last two months we have performed a preliminary exploration of this issue. The result of this study is a simple plug-in for the Netscape browser. The plug-in recognizes a novel MIME type (application/x-klic) which indicates the presence of a WEB-KLIC module in a document accessed by the browser. We propose to use this preliminary interface as the key component for client-side WEB-KLIC computations. Figure 1 illustrates the structure of this new component of WEB-KLIC. A thin layer, activated by the Netscape plug-in component, will filter the incoming documents and perform the desired operations on the embedded WEB-KLIC modules -- e.g., combination with other modules, execution of goals against them.

Given the expertise we have acquired regarding the plug-in interface of Netscape, and the existing client-side code already in WEB-KLIC, we expect this additional feature to be simple to realize.

References





www-admin@icot.or.jp