Instructor's Guide
introduction
objects
web
jamming
architecture
summary,
Q/A,
literature
In [Negro], intelligent agents are characterized
as autonomous, intelligent processes
aiding the user in complex tasks, such as answering email,
gathering information and planning activities.
In practice, agents on the Internet may help
in monitoring changes in Web pages,
collecting information on topics of interest,
or searching based on personal preferences.
See [Agents], [Search].
Other types of agents, such as the shopping agents
described in [Mobile] or even virtual players
as those described in [VR], might become possible in the future.
However, despite the range of possible examples,
the notion of intelligent agent is
not very clear.
In [Survey], two definitions of agent are given,
a soft definition, characterizing agents as autonomous processes
that show some intelligence,
and a hard definition attributing agents with mentalistic
properties such as belief, desire and intentions.
At this stage, the hard definition is clearly no more than a metaphor,
since there is no technology that actually supports it.
Taking the soft definition, one could argue that it is (partly)
realized by modern object technology, as embodied in Java and CORBA,
omitting the intelligence that is.
Whether or not adopting the agent metaphor,
there is definitely a challenge of
making applications more intelligent, and perhaps even
more human. Cf. [WebWord] and [Maes].
To my mind, one fundamental problem that we must solve
to realize this goal is to define the
technology, or the combination of technologies, needed
to support the anthropomorphic metaphor of agents.
Given the merits of logic programming in a variety
of application areas, encompassing areas such as
diagnostic expert systems,
natural language processing,
and control systems,
it seemed natural to organize a
workshop called Logic Programming and the Web
to investigate how logic programming technology
might be deployed to make the Web more intelligent.
Nevertheless, although the presentations at the workshop
indicated that logic programming could fruitfully
be applied in for example the creation of virtual worlds,
e-commerce applications, and intelligent rental advisors,
it did not shed any light on how
to bridge the gap between the (mentalistic) agent
metaphor and its software realization.
In the remainder of this section we will discuss
the Web Agent Support Program research project
to delineate the requirements for a framework providing
agent technology support for Web applications.
Web Agent Support Program
The WASP project, of which an outline is given in [WASP], concerns the development
of Web Agent Support to enable average users
to keep track of relevant information on the Web.
The project was envisaged to result in a framework
providing support for:
- intelligent navigation and information retrieval,
- information and document maintenance,
- user interfaces for Web-aware applications,
- dynamic documents with user-defined applets,
- declarative descriptions of agent behavior based
on user preferences,
- declarative modeling of coordinated and cooperative
behavior of software agents, and
- programming single and multi-agent systems.
As an target product for the WASP project,
we envisaged developing
Pamela (Personal Assistant for Maintaining
Electronic Archives),
an application combining the functional and
architectural features mentioned above.
In summary, 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.
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.
The architectural requirements for realizing agents
in a Web-aware context consist 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.
Framework components
Web-aware agents
- 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.
slide: Framework components
The WASP project is aimed to result in
a framework (in its extended meaning) for the
development of agent-based Web-aware applications.
The components provided by such a framework are listed
in slide [agent-components].
In addition to the proper software components,
the framework includes a methodology,
as well as a logical foundation.
Further we wish to develop guidelines for realizing
actual agent applications, and our hope is to develop
a language for programming agent applications,
based on the language DLP, described in appendix
[DLP].