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:

  1. The software engineering approach emphasizes the significance of application-independent high-level agent-to-agent communication as a basis for general software interoperability.
  2. 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

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