Electronic Transactions on
Artificial Intelligence


Organized and published under the auspices of the European
Coordinating Committee for Artificial Intelligence, (ECCAI)

Related: Auxiliary Publications, --- Software Support Overview, ---

ETAI Software Support: Distributed Architecture

Background

At present, our group has developed a bundle of support software which I use for developing and maintaining ETAI on-line materials, including both the web pages and the documents. This software, which is called AIMS (for Academic Information Management System) is also used for a number of related purposes, namely:

The main part of AIMS is in CommonLisp, and is used under the XLISP implementation of (approximate) CommonLisp which has the advantage of being quite fast. (Debugging support is mediocre, though). Minor parts of AIMS are written in other languages, and can be invoked from the Lisp part. Finally, a Java version of the database management parts is near completion. That work is done by John Olsson in our lab.

In addition, there is a parallel effort at the DFKI, done by Gerd Herzog, where they have built a quite large bibliographic database (LIDOS) and software services around it. There is a commonality of goals and interests between LIDOS and ACRES, and transfer of database contents between has been implemented.

Remote availability using communication directories

It is clear that several of the AIMS services could be of good use to ETAI editors. (I use this term to denote both ETAI area editors, and others who may be involved with preparing and maintaining ETAI publications). This is not to say that everyone has to use it, since each area editor is quite free to set up her or his structures with whatever tool s/he chooses. However, several area editors have expressed an interest in having this kind of software support.

At the same time, we are all familiar with the headaches of exporting software to other institutions and maintaining it there. Also, the AIMS system is being extended continuously, which means that the sending out and reception of new versions causes work for everyone involved, and that some parts may sometimes be a bit shaky.

Reimplementing everything in Java has been disscussed, but we concluded that it's not a viable idea.

The following technical solution has been found to this problem.

One advantage with this arrangement is that it is inherently fairly secure, since input will only be taken from known communication directories. However, we may also impose additional security measures, such as a check against excessive computational or data storage loads (for the event that some outside would think it's funny to overload the system by invoking the same module very often), and a check that the server-side request comes from the correct computer system.

Anyway, the main advantage is that we can make the existing software available to editors anywhere, without having to go through the pains of distributing it to other sites. (By the way, you are of course welcome to have the source code if you want to, that's not the issue).

Restrictions, extensions, and alternatives for the communication directory scheme

For those operations which involve assembling the contents of a number of files into a larger structure, or analyzing a set of files possibly at several sites, one may wish to use an input file that in turn contains URL:s for other files. Technically there is no problem with this, except for the occasional unreliability of WWW file transfer.

An obvious restriction of the communication directory scheme is that it does not offer the convenience of forms-based data entry and editing or of a graphical user interface for controlling the details of the computation. However, it is still possible to let use the web page invoking the module for setting additional parameters for it.

For data entry, for example for contributing the list of contents of a conference or workshop, I am not sure that it is such a big problem to have to use text file input. As a matter of personal taste, I think it is more convenient to prepare a text file using Emacs than to have to navigate between forms and form fields using a mouse. On the other hand, text-file input means that the user has to be more careful with syntax, since incorrect data are not recognized until the whole file is processed.

The only major problem I think is for data editing: modifying objects in the data base after they have first been entered. For this purpose, we should plan to use the remote database editor being developed in Java by John Olsson. It sets up an editor process on the client side, communicating with a corresponding server-side process, and allows navigation in the object database and making changes along the way. User authorization can then be done when as process is initiated, and is in force for as long as the process is running.

How to get started

In order to get started with using these services under the communication directories scheme, just send me a mail indicating what identifier you wish to use, and what is the name (URL style) of your client-side communication directory. As soon as you receive the return message confirming that the server-side directory has been set up, you are ready to use the modules described in the on-line documentations.


Latest update: 11.9.1997
Administrated by Erik Sandewall, Linköping University, Sweden. E-mail ejs@ida.liu.se.