Information Systems Have to Deal with Objects and with Agents
Gerd
Wagner, Free University of Berlin, gw@inf.fu-berlin.de
In this position paper, we summarize a technical
report where we argue that there are three different ways in which
agent concepts may be introduced to the field of information systems. Firstly,
extended IS functionality may be achieved by means of agent-based software
components. Secondly, the 'agentification' of an information system by
adding further state components (such as commitments), and by implementing
support of an agent communication language, enables it to cooperate
with other agentified information systems and to participate, e.g., in
automated electronic business. Thirdly, the explicit representation of
agents in an organizational information system enhances its support for
communication processes and facilitates the supervision of internal and
external interactions.
Introduction
The term "agent" has been used in Artificial Intelligence and in cognitive
science as a synonym for "intelligent system". Over the past few years,
researchers in various fields of computer science have adopted this term
as a common abstraction that subsumes several important research issues
and is able to guide further research in these fields. Regrettably, the
term "agent" is also exploited as a buzzword for marketing old research
and old technologies in new clothes. But this superficial use of the term
should not distract from its potential as a deep metaphor that is able
to capture many of our best intuitions and goals for advancing computer
science and information technology.
We argue that in order to capture more semantics of the dynamic aspects
of information systems, such as the events and actions related to the ongoing
changes of the state of an information system, it is necessary to distinguish
between agents and passive objects. In particular, the semantics
of business transactions can only be captured if the specific business
agents associated with the involved events and actions are explicitly represented
in the information system in addition to passive business objects.
Tables and Objects
Current information system concepts and technologies are largely based
on the Entity-Relationship (ER) meta-model of [Che76] and the Relational
Database (RDB) model of [Cod70]. Driven both by the inherent shortcomings
of relational databases and the success of the object-oriented (OO) programming
paradigm, concepts and techniques from OO programming are going to enter
the area of information systems. While ER modeling has always been object-oriented
to some degree, through its support of inheritance and complex-valued attributes,
the RDB model is going to be conservatively extended to the Object-Relational
Database (ORDB) model as exemplified by a number of research/commercial
prototypes (most notably, Postgres/Illustra/Informix and UniSQL) and as
expressed by the ongoing definition of SQL3.
Information systems realized on the basis of RDB and ORDB technology
are basically object-oriented (even if RDB systems do not directly support
OO concepts). No matter if the customers of an enterprise are represented
in a RDB table or in an object table of an ORDB, they are not explicitly
represented as agents but rather as objects in the same way as items or
bank accounts. Current information system technologies do not support the
concept of an agent.
Agents
The agent metaphor subsumes both natural and artificial systems. A formal
agent concept for the purpose of representing agents in information systems
may abstract away from many of the higher-level cognitive aspects of agents.
It only needs to capture those aspects that are relevant for tracking and
evaluating the events and interactions of interest. In an enterprise information
system, for instance, only events and interactions associated with business
processes are of interest.
There are several approaches to defining agents, only two of them being
relevant for our purposes:
-
The software engineering approach emphasizes the significance of
application-independent high-level agent-to-agent communication
as a basis for general software interoperability.
-
The Artificial Intelligence approach points out that the state of
an agent consists of mental components such as beliefs, perceptions,
commitments, expectations, goals and intentions, and its behavior is the
result of the concurrent operation of its perception (or event handling)
system, its knowledge system (comprising an update and an inference operation),
and its action system (responsible for epistemic, communicative and physical
actions and reactions).
We point out below that in an AOIS, on conceptual grounds, we have to distinguish
between internal (or organizational) agents, such as sales persons, and
external agents, such as customers.
What is an Agent-Oriented Information System ?
In an agent-oriented information system (AOIS), the concept of an agent
may occur in three different -- but not unrelated -- ways: 1) extended
IS functionality by means of agent-based software components; 2) the agentification
of information systems; and 3) the explicit representation of agents. While
2 and 3 are closely related to each other, they are both orthogonal to
1. We consider issues 2 and 3 as more fundamental than 1, and therefore,
we will restrict our discussion to the agentification of information systems
in Section 2 and the explicit representation of agents in Section 3.
Extended IS Functionality by Means of Agent-Based Software Components
Extended IS functionality, such as adaptive user interfaces or cooperation
support services (e.g., wrappers and mediators), may be realized
by means of agent-based software components. The extension of traditional
information systems by a whole set of new agent-based functions for IS
interoperation, group collaboration and change management support is the
main concern of the cooperative information systems proposal of
[MDJ+98].
Information Systems as Agents
The `agentification' of an information system by adding further state components
and by implementing support of an agent communication language enables
it to cooperate with other agentified information systems and to participate,
e.g., in automated electronic business.
An information system may be explicitly designed as an agent itself
by
-
treating its information items as its beliefs or knowledge;
-
adding further mental components such as perceptions (in
the form of incoming messages), and commitments;
-
providing support for agent-to-agent communication on the
basis of a standard agent communication language.
In automated business-to-business communication, prices and contracts may
be negotiated by agent-oriented enterprise information systems without
human intervention. In this case, an IS acts as an agent of the enterprise
it belongs to. For this, it needs to have information (or knowledge/beliefs)
about the market it has to act in, and about its potential business partners,
and it needs to fulfill its commitments from previous business interactions.
That is, in addition to representing facts about objects and other agents,
an agentified IS needs to maintain and process commitments.
In order to agentify an information system, its schema has to be partitioned:
in addition to the tables representing the current state of affairs (e.g.,
business objects, relationships, business agents, etc.) that form its beliefs,
special tables are needed for representing its commitments. For querying
the perception state by processing incoming messages a built-in data structure
(such as an event queue) has to be added. Finally, the reaction
patterns representing the reactive and communicative behavior of the
information system have to be specified, e.g. by means of reaction rules.
Depending on a triggering event type and possibly on an epistemic condition
and a commitment, a reaction pattern specifies an action and an associated
mental effect that may lead to an update of beliefs and commitments. In
this way, an information system turns into a knowledge-perception-commitment
(KPC) agent.
The Explicit Representation of Agents
An AOIS represents other (natural or artificial) agents it has to deal
with in a specific manner, thus enhancing its support for communication
processes and facilitating the supervision of the interactions with them.
Internal (organizational) agents are distinguished from external ones.
In an AOIS, agents and their potential interactions with each other
are explicitly represented in addition to ordinary objects and their relationships.
As opposed to passive objects (like items or bank accounts), agents (such
as customers or suppliers) are capable of performing actions (e.g., asking
for a sales quotation or making a payment). Current enterprise information
systems represent events related to business transactions and created by
the actions of the involved agents in ordinary tables. An agent-oriented
modeling and design method will provide special constructs for representing
agents and for recording the events and actions associated with them. The
explicit representation of agents in an AOIS will facilitate the supervision
of business transactions and will enable it to participate in automated
electronic business.
Only specific mental components of agents seem to be relevant in an
AOIS. In particular, legally or socially defined commitments towards other
agents may have to be represented and taken into consideration in the future
course of actions. But even the beliefs and preferences of certain
customer groups or individual customers, or of employees, may be of interest
to an organizational information system, e.g., for personalizing marketing
activities or for improving the in-house communication with human resources.
Beyond Objects
An AOIS can be realized by means of relational and object-relational database
systems. This is similar to implementing an object-oriented information
system with relational database technology. While flat relational databases
allow to implement essentially every data structure and every information
system in the same way as flat first-order predicate logic allows to express
essentially every mathematical object, this approach is often unsatisfactory
and unnatural. It is therefore preferable to develop agent-oriented extensions
to current database models. An agent-oriented database system will provide
direct support of agent concepts by means of special constructs. Since
the representation of mental components may be more natural and more efficient
using complex-valued attributes and functions/methods, agent-oriented database
models will be based on object-relational ones. The agent concept in AOIS
is an extension (or specialization) of the object concept of object-oriented
information systems.
Position Paper. International
Workshop on Agent-Oriented Information Systems (AOIS'99). See http://www.AOIS.org