The term “agent” has been used in AI & in cognitive science as a synonym for “intelligent systems”. 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. This technology is able to capture many of our best intuitions & goals for advancing computer science & information technology.
Enterprise information systems have traditionally suffered from an impedance mismatch. Their operational environment is best understood in terms of agents, responsibilities, objectives, tasks and resources, while the information system itself is conceived as a collection of (software) modules, data structures and interfaces. This mismatch is one of the factors for the poor quality of enterprise information systems, also the frequent failure of enterprise information system development projects.
In order to capture more semantics of the dynamic aspects of information systems, such as the events & actions related to the ongoing business processes of an enterprise, it is necessary to make an ontological distinction between active & passive entities, that is, between agents & objects. In particular, the semantics of business transactions can only be captured if the specific business agents associated with the involved events & actions are explicitly represented in the information system in addition to passive business objects.
The concept of Agent-Oriented Programming (AOP) is proposed by Y. Shoham. AOP is an extension of object-oriented programming. The two main points of AOP are:
The state of an object has no generic structure; while the state of an agent has a ‘mentalistic’ structure i.e. it consists of mental components such as beliefs & commitments.
Messages in OOP are coded in an application-specific ad-hoc manner, while a message in AOP is coded as a ‘speech act’ according to a standard agent communication language that is application independent.
The intuition underlying AOP have an ever greater potential for information systems engineering than for general software engineering.
Current information system concepts & technologies are largely based on the Entity-Relationship (ER) meta-model & the Relational Database (RDB) model. Concepts & techniques from OOP are now increasingly applied in the area of information systems. In the former, everything is viewed as an object, from GUI push buttons to entire server programs.
Current information system technologies do not support the concept of an agent. The customer of an enterprise are not explicitly represented & treated as agents but rather as objects in the same way as items or bank accounts.
The agent metaphor subsumes both natural & 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 & 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 independence high-level agent-to-agent communication as a basis for general software interoperability.
2. The mentalistic approach, based on the knowledge representation paradigm of AI, points out that the state of an agent consists of mental components such as beliefs, perceptions, memory, commitments, expectations, goals & intentions.
In an agent-oriented organizational IS, on conceptual grounds, we have to distinguish between internal agents & external agents. In the case of an agent-oriented enterprise IS, example of subagents is sales persons & examples of external agents are 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 technologies
2. The ‘agentification’ of information systems
3. The explicit representation of agents in an IS
Information Systems & Agent-Based Software Technologies
Extended IS functionality, such as adaptive user interfaces or cooperation support services, may be realized by means of agent-based software technologies. The extension of traditional information systems by a whole set of new agent-based functions for supporting interoperation, group collaboration & change management is the main concern of the cooperative information systems.
Information Systems as Agents
The ‘agentification’ of an information system by adding further state components & by implementing support of an agent communication language enables it to cooperate with other agentified information systems & to participate in automated business processes.
Intelligent agents continuously perform three functions:
1. ‘Perception of dynamic conditions in the environment’
It refers to incoming messages representing communication events (such as receiving a request for a sales quotation or an acknowledgement of a sales order) and environment events (such as receiving a payments).
2. ‘Action to affect conditions in the environment’
It refers to communication acts of the AOIS (such as acknowledging a sales order) and to physical acts (such as delivering goods or making a payment).
3. ‘Reasoning to interpret perceptions, solve problems, draw inferences, and determine actions’
It refers to things like the proper processing of incoming messages, the computational inference of correct answers to queries, and the determination of proper actions (such as locking all sales orders of a customer whose credibility is in question or issuing as alert when the fulfillment of a commitment is overdue).
An information system may be explicitly designed as an agent by:
1. treating its information items as its beliefs or knowledge
2. adding further mental components such as perceptions (in form of incoming messages), memory, & commitments.
3. providing support for agent-to-agent communication on the basis of a standard agent communication language.
In automated business-to-business communication, prices & 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 about the market it has to act in, and about its potential business partners, and it needs to fulfill its commitments from previous business transactions. That is, in addition to representing facts about objects & other agents, an agentified IS needs to maintain & 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 that form its belief, special tables are needed for representing its memory (about past events & actions) and its commitments and claims. 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 & communicative behaviors of the information system have to be specified, by means of reaction rules. Depending on a triggering event type & possible on a mental condition (involving beliefs, memory, commitments and claims), a reaction pattern specifies an action & an associated mental effect that may lead to updates of belief, commitment & claim tables. In this way, an information system turns into a knowledge-perception-memory-commitment (KPMC) agent.
Representing Agents in Organizational Information Systems
An organization may be viewed as a complex institutional agent. It is composed of various subagents that act on behalf of it. In the perspective of an organization, its internal agents have to be distinguished from external ones. While the information items represented in certain database tables of an organizational information system typically count as the common beliefs of the internal agents, external agents do not necessarily share these beliefs.
A Use Case Specification Example
Flower Shop is a store selling and shipping different varieties of flowers. Flower Shop customers (on-site or remote) can use a catalogue describing available products to make their order. The catalogue is updated
regularly and mailed out to the shop’s customer base. Flower Shop is supplied with quality flowers by Flower Supplier. To increase market share, Flower Shop has decided to open up a retail sales front on the internet. With the new setup, a customer can order Flower Shop products in person, by phone, or through the internet. The internet system has been named FlowerAlive!
The basic objective for the new system is to allow an on-line customer to examine the different kinds of flowers in the FlowerAlive! internet catalogue, also to place orders.
The system is supposed to be available to any potential customer with internet access and a web browser. There are no registration restrictions, or identification procedures to navigate the catalogue. Even if she is not purchasing anything, an anonymous visitor is considered an on-line customer of FlowerAlive!.
Potential customers can search the on-line store by either browsing the catalogue or querying the flower database. The catalogue groups flower varieties into hierarchies so that potential customers can view and compare similar types of flowers. An on-line search engine allows customers with particular flowers in mind to search variety names and descriptions through keywords. Other internet visitors are just expected to navigate the catalogue by browsing FlowerAlive! offerings. Details about flowers include name, short description, breeder name, year introduced, cost, and sometimes pictures (when available).
When the customer decides what flower variety to buy, she can add the item to her shopping cart. At any time, the customer can decide to check out and purchase the items in the shopping cart. Once items have been checked out, the customer can complete the transaction by giving out relevant information (name, address, credit card number, bank account, delivery address and date, personal message, etc.) by phone or by internet using standard forms or encrypted secure forms.
Agent-Object Relationship Modeling
In this section we propose a new modeling paradigm: the agent-object-relationship (AOR) for modeling agent-oriented information systems. In the same way as an ER Model can be effectively transformed into a relational or object-relational database schema, an AOR model should be transformable into a corresponding database schema.
ER modeling doesn’t account for the dynamics aspects of information and knowledge processing systems. These aspects are related to notions like communication, interaction, events, activities and processes. For capturing dynamics aspects of information systems, it is necessary to distinguish between agents and passive objects.
In UML, the current object-oriented modeling standard, agents are only considered as ‘actors’ that are involved in use cases, but remain external to the system model.
Thus, ER modeling & UML support the design of object-oriented information systems realized with the help of relational & object-oriented database technology, while AOR modeling allows the high level design of agent-oriented information systems.
Similar to ‘object’, the term ‘agent’ denotes an abstraction that leads to more natural & more modular software concepts. It helps to capture more semantics about natural & AI systems an information system has to represent & to deal with. Although agent-oriented modeling techniques are still in their infancy, this paper is only a preliminary sketch of an evolving new paradigm. I hope that is have pointed out the most essential issues in its development.