8. Content
In this section we describe the underlying scientific
problem our project is concerned with, and
we will further detail the method(s) we will employ,
and the expected results. In addition we will explain
the relevance of our contribution for the scientific
community and we will assess our project with respect to
its scientific merits.
Agents
The notion of agents has become a powerful metaphor
for designating autonomous intelligent processes
that aid the user in managing the complexity
of a variety of tasks, including information retrieval,
activity scheduling and process monitoring.
Our project aims at providing insight in and solutions
for
- modeling the behavior of cooperating agents
- generic means for realizing actual agents in a Web-aware context
- architectural support for programming agent-based systems
In effect, agents have been characterized
as the dominant human-computer interface of the future Negro.
The aspects of our research as indicated above
address the problems involved in defining and realizing
the potential of the agent metaphor as a
human-computer interface in the distributed information
system domain, in particular the Web.
Modeling agent behavior
The ability to model the behavior of solipsistic
and cooperative agents is a prerequisite for
(a) managing the complexity of defining agent behavior,
and (b) for adapting the behavior of agents to
user preferences or circumstantial conditions.
Realizing agents
We choose for aiming our project at realizing
agents in a Web-aware context
(a) because the Web provides a rich reservoir
of information,
and (b) the Web offers a suitable infrastructure
for defining an actual graphical user interface
for employing agents.
In particular, agents may be integrated with
standard means for accessing the Web by means
of applets.
Further we wish to supply a language that allows
us to program the behavior of agents in a straightforward
way, adequate with respect to the models described
at a more abstract level.
Architectural support
The architectural requirements for realizing agents
in a Web-aware context consists of
(a) high-level support for distribution
to allow for notification and the communication between
agents,
(b) access to the Web both in terms
of server-side and client-side computation,
and (c) support for information retrieval and
data management.
Discussion
Currently agents are in the focus of interest
of numerous research groups Internet,Softbots,Software,Architecture,Survey.
However, one may observe a divergence between
purely formal approaches and purely pragmatical
approaches, that provide an operational realization
of agents lacking a solid foundation.
Although many of the ideas and concepts
underlying agents have been a topic of
research for decades, notably issues
concerning distributed systems and
programming language design, the notion of agents
itself hase become a major research topic
only recently.
A survey of agent theories, architectures
and languages is given in [Survey].
As concerns agent theories, the main focus of
attention lies on a logical analysis
of intentional notions underlying the behavior
of single agents, whereas for agent architectures
issues of communication and cooperation between agents
have been addressed in more detail.
In [Survey], concurrent logic programming languages
are considered to be the ancestors of agent languages.
Of immediate relevance for our own work is the
Oasis programming language described in [Oasis],
which bears a close resemblance to the
distributed logic programming language DLP [DLP].
Recently, commercial agent systems have been developed for the Web.
For example, General Magic has launched its
Telescript Agent System, a system that employs
mobile agents defined in General Magic's Telescript language.
Also in [Internet], a number of agent-like programs
are described.
We are reluctant to qualify these systems as 'agents',
however, since they are defined in a purely operational way.
We find, for complex agents anyway, a more explicit
representation of the intentional aspects desirable.
In a recent issue of the CACM( 37(7), July 1994),
some current trends and applications of agent research
are presented.
From our perspective we consider as important representatives
of ongoing research:
[Software],
that describes the agent communication language
KQML (Knowledge Query and Manipulation Language);
[Architecture], which describes the complexity of of integrating
collections of agents;
and [Softbots], which describes a number of simple agents
for facilitating access to the Web.
Realization
For each of the levels or facets indicated,
that is modeling, realization
and architecture, we will briefly describe
the way we plan to tackle the problems involved.
Modeling the behavior of cooperative agents
Our approach will be based on the work already done in the context of
DESIRE [Desire,KAW95,Multiagents,Compositional]. In effect, DESIRE
provides a compositional modeling framework
in which the cooperation between multiple components can be expressed in
a declarative manner (with temporal semantics
[KAW96,JELIA94,ECAI94,META94]). In particular, DESIRE has been
employed for describing cooperative multi-agent systems for project
coordination, negotiation and monitoring processes
[Modeling,ModelAge96,ModelAge97,ATAL96,ICMAS96,Cooperation].
Research in this area
will be focussed on defining cooperation in information-retrieval tasks
and on expressing user-preferences and information-needs in an adequate
way. Other topics of interest include modeling users as agents and the
verification of agent specifications.
Realizing Web-aware agents
The development of Web-aware applications
has been addressed in the DejaVu project [Applications,Music].
The approach taken there was to employ
object-oriented design technology
for realizing a component-based approach
to integrating multimedia in
Web-based hypermedia applications.
The development of generic components
for realizing agent-based systems will
be addressed in the same fashion,
in order to allow for the integration
of adequate multimedia and graphical
user interface support.
It is our intention to employ the distributed
logic programming language DLP [DLP] as a high-level
vehicle for programming the behavior of agents.
We strive on the one hand for a close integration
of the DESIRE framework and DLP and on the
other hand to extend DLP with the primitives needed
to access the Web and to create adequate graphical
and multimedia user interfaces.
Architectural support
To support cooperating agents over a network
we need to provide
point-to-point communication as well
as event-based notification.
We intend to use the Orbix/CORBA Object Request Broker
as an object-level mediator for the communication between agents
and the communication of agents with Web server and client
applications.
Currently, we are actively employing Orbix/CORBA
to develop an workbench for groupware task analysis and
a distributed architecture for visualisation (DIVA).
To allow for managing the information retrieval and management tasks involved
in dealing with the Web, helper applications must be developed which
employ the native HTTP protocol of the Web, and which perform automatic
Web navigation. Such tools are often called robots or spiders.
An information retrieval tool [Bra,Fish,Search] has been developed at the
TUE. Two implementations of this tool exist: one which is integrated in
a WWW browser, and one which is a CGI-script for use on servers.
The latter implementation now exists in a multi-threaded version,
using multiple search-agents operating in parallel. Current Web developments
make it possible to integrate such agents into browsers in a flexible way
by means of applets or plug-ins. For server-based applications servlets
or server plug-ins can be used to avoid the overhead generated by the
CGI protocol and by invoking individual instantiations of CGI-scripts.
A method for improving the use of the internal structure of documents has been
defined and implemented by means of object-oriented databases.
An intelligent retrieval helper application needs to be aware of the internal
structure of documents, and needs to be able to store the information it
finds using a similar structure. Also, it needs to have direct access to the
links between documents; this information is embedded within the text of the
documents. A Web-server based on the object-oriented database Ode has been
developed for this purpose [OODB]
Pamela
First of all, it must be remarked that the target
system Pamela is explicitly intended to stimulate and
regulate the cooperation between the participating
research groups.
As concerns its functionality,
the final version of Pamela should include
- autonomous and on-demand search capabilities
- (user- and system) modifiable user preferences, and
- (multimedia) presentation facilities
A more detailed specification of its functionality, however,
must be considered as one of the tasks of the project.
Discussion
As concerns technology, the realization of WASP
(and in particular Pamela) is based on the programming
language DLP (extended with Internet capability),
and the facilities provided by the hush library
and its extensions (both developed by SE/VU,
see refs [17,19,20]).
In addition, at the level of design, we exploit
DESIRE (developed by AI/VU, see refs [1,2,16,22] of the proposal).
In effect, the integration these technologies (DESIRE and DLP)
contributes to the originality of our approach.
From an architectural point of view our approach
is basically a client-server architecture, with agents
as user-dedicated clients.
For the communication and Internet capabilities
we exploit existing technology (TCP/IP, HTTP, CORBA).
Needless to say that we wish to maintain
a close integration between the efforts involved
in the research concerning the aspects mentioned.
In particular, we intend to develop a prototype agent
application Pamela (Personal Assistent for Managing
Electronic Archives) as a point of reference
and as a means of coordinating the research done
by the parties involved.
In addition, the Pamela application will serve as means
to demonstrate the power of our approach to the scientific
community and the rest of the world.
A framework for Web-aware agents
The WASP project is aimed to result in
a framework (in its extended meaning) for the
development of agent-based Web-aware applications.
Such a framework includes:
- a methodology for developing agent-based applications, as well as
- a logical foundation for modeling agent behavior; and in addition
- guidelines for realizing actual agent applications, and
- software components that can be used as building blocks, including
- a language for programming agent behavior.
In addition we wish our work to result in a generic
agent application Pamela that demonstrates the
capabilities of our approach.
The intended results, divided over the various aspects
of our project, are summarized below.
Modeling the behavior of cooperative agents
- a formalism for modeling cooperative agents
- logical foundations of agent behavior
- modeling user preferences in information retrieval
- modeling circumstantial awareness and negotiation
Realizing Web-aware agents
- generic agent software components
- user interface components for managing agents
- communication primitives for agent communication
- guidelines for developing agent systems
Architectural support
- an agent-based programming language
- a high-level API for Web-aware applications
- an object-based framework for distributed agent applications
- tools for agent-based information retrieval and management
Pamela
The Pamela application is intended as a vehicle
to demonstrate the various aspects of our project.
For a selected domain, which will be chosen in the
course of the project, we will produce
a Personal Agent for Maintaining an Electronic Archives
that assists the human user in gathering material for
which a preference has been indicated.
Gathering information will be done in cooperation
with personal assistants defined for other human
users. Pamela will be able to notify the human
user about the discovery of any relevant material
and will provide for multimedia facilities to
present the material and to browse related information.
d. Significance
Scientifically, our work is of significance for the
areas of
- distributed information and knowledge-based systems,
- multi-agent systems
- user-interface development,
- object-oriented software engineering, and
- information retrieval
In particular, because we propose to take
an integrated approach to the problem of providing
agent support for Web-aware applications,
the efforts coming from the different areas
of expertise of the participants
results, hopefully, in a more encompassing
theoretical and practical framework
than would have been possible for each
of the participants individually, or more in general
in a more mono-disciplinary approach.
Clearly our project covers both fundamental
and pragmatic aspects.
It is application-oriented in the sense that
it is aimed at satisfying the conditions
for developing actual agent-based applications.
However, it is fundamental to the extent
that it is based on well-founded
principles of modeling and software engineering.
In the area of information retrieval, moreover,
we hope to come up with a substantially
new approach for the discovery of new (recent) interesting
and relevant information in a large distributed hypermedia
information system such as the Web.