Next: Technologies for Distributed Computing
Up: The Open Agent
Previous: The Open Agent
The evolution of models for the design and construction of software systems is being driven forward by several closely interrelated trends:
-
The adoption of a networked computing model is leading to a greatly increased reliance on distributed sites for both data and processing resources.
Indeed, with a reported 1800 new computers being added to the Internet every day,
a paradigm shift for computing is well under way, one which moves away
from requiring all relevant data and programs to reside on the user's
desktop machine.
The data now routinely accessed from computers spread around the world
has become increasingly rich in format, comprising
multimedia documents, and audio and video streams; with the popularization
of JAVA, it may also include programs that can be downloaded and executed
on the local machine.
As we become increasingly reliant on networked computing,
we need approaches to software design that allow for flexible composition
of distributed processing elements in a dynamically changing and
relatively unstable environment.
-
In an increasing variety of domains, application designers and users are
coming to expect the deployment of smarter, longer-lived, more
autonomous, software applications. Push technology, persistent
monitoring of information sources, and the maintenance of user models,
allowing for personalized responses and sharing of preferences, are
examples of the simplest manifestations of this trend.
Commercial enterprises are introducing significantly more advanced approaches, in many cases employing recent research results from artificial intelligence, data mining, machine learning, and other fields.
-
More than ever before, the increasing complexity of systems, the
development of new technologies, and the availability of multimedia
material and environments are creating a demand for more
accessible, more intuitive user interfaces. Autonomous, distributed,
multicomponent systems providing sophisticated services will no longer
lend themselves to the familiar ``direct manipulation'' model of
interaction, in which an individual user masters a fixed selection of
commands provided by a single application. Ubiquitous computing, in networked environments, has brought about a situation in which the typical user of many software services is likely to be a nonexpert, who may access a given service
infrequently or only a few times.
Accommodating such usage patterns calls for new approaches. Fortunately,
input modalities now becoming widely available, such as speech
recognition and pen-based handwriting/gesture recognition, and the
ability to manage the presentation of systems' responses by using multiple media provide an opportunity to fashion a style of human-computer interaction that draws much more heavily on our experience with human-human interactions.
The Open Agent Architecture Architecture (OAA),
a framework for constructing multiagent systems developed at the Artificial Intelligence Center of SRI International, arose from a desire to accommodate developments in these three areas in an integrated framework, which is suitable for practical use.
In Sections 2 and 3 of this paper, we first review various approaches to
distributed computing, and
then situate our own approach
within the scope of this related work. Following that, we briefly characterize the range of OAA-based systems built to date. Subsequent sections
provide detailed descriptions of the inner workings of OAA.
Whereas the motivating concepts for an early version of OAA were
presented in [[Cohen et al.1994]], and certain OAA-based systems have been
described in [[Cheyer and Julia1995], [Martin et al.
1996], [Martin et al.
1997], [Moore et al.1996], [Moran et al.1997], [Moran and Cheyer1995]],
this is the first paper to present a detailed technical
explanation of the system-building resources provided by OAA.
Next: Technologies for Distributed Computing
Up: The Open Agent
Previous: The Open Agent
Adam Cheyer
Mon Oct 19 17:14:26 PDT 1998