10
IEEE TRANSACTIONS ON SYSTEMS, MAN. AND CYBERNETICS. VOL. 22. NO 4, JUI.Y/AUGUST lYY2 07 I Strategies for Real-Time Dialogue and Interaction in Multiagent Systems Vernon Lun and Ian M. MacLeod Abstruct- Agent dialogue and interaction protocols are im- portant in achieving intelligent collective behavior from a set of heterogeneous agents in real-time computer systems. The characteristics of such agents are analyzed and classified into several generic classes. A bulletin board model is proposed as a flexible paradigm for supporting the coexistence of disparate agents and for investigating agent interaction mechanisms. A set of protocols for agent dialogue and interaction is suggested. The analysis places a strong emphasis on the timing properties of such protocols and on the need to satisfy temporal constraints in real-time environments. I. INTRODUCTION HE SYNTHESIS of conventional computer software and T knowledge processing capabilities is crucial to the suc- cess of intelligent computing systems [I]. The diversity of engineering applications and areas of expertise highlights the importance of heterogeneous agents in such systems. Loose- coupling is essential if agents that may have significantly different skills, internal representations and modes of operation are to be accommodated. Intelligent dialogue and interaction are therefore needed to elicit intelligent collective behavior from a set of disparate agents. The role of time in agent interaction is seldom addressed in knowledge system research (21, [3]. We aim to show that time can be used, as part of agent dialogue and interaction, to specify temporal constraints and to ensure that the requirements of real-time response are met. The paper begins by defining several generic classes of agents that are important. The bulletin board model is proposed as a way of exploiting the advantages and removing the shortcomings of two influential paradigms in distributed arti- ficial intelligence, namely, integrative systems and blackboard systems. Finally, the temporal extents of the model are used as a basis for analyzing and formulating real-time agent dialogue and interaction protocols. 11. CLASSES OF AGENTS We define agents to be specialist computer programs that have well-defined roles and that possess a narrow set of skills with limited scope. Different classes of agents are required for intelligent collective behavior. The degree to which each type will participate depends on the nature of the problem. Overlapping responsibilities and portfolios may also Manuscript received March 7, 1991; revised November 1, 1091. This work The authors are with the Department of Electrical Engineering, University IEEE Log Numher 9106497. was supported by the South African Foundation for Research Development. of the Witwatersrand, Johannesburg, WITS 2050, South Africa. occur. Except for domain specialists, the agents listed below have generic capabilities applicable to most problem-solving scenarios. Domain specialists. These are application-specific agents that perform specialized tasks such as speech understanding, signal analysis and sensor interpretation. They may be expert systems, neural networks, simulators or numerically based programs. Knowledge managers. These control the problem-solving cycle. Their activities include creating, terminating, scheduling and coordinating agents. Other tasks include managing negoti- ation processes and the subsequent contracts, performing task decomposition and allocation and synthesizing results. They are also responsible for the intelligent deployment of resources. Knowledge facilitators. The need may arise for ancillary tasks and services to facilitate and expedite problem-solving. A typical knowledge facilitator is the arbiter or voter that must reconcile conflicting information, merge disparate per- spectives, resolve uncertainty or manage voting schemes. Knowledge transformers. The task of knowledge transform- ers is to convert information in one form from one agent into formats acceptable to other agents. They maintain a continuous How of information across various data levels that arise from multiple levels of problem-solving abstraction. Knowledge monitors. These agents monitor and analyze intelligent behavior and report on system performance. They do not participate in the problem-solving process. Emphasis is placed on their tracing and debugging capabilities. Their reports are extremely important for identifying bottlenecks and inefficiencies. Interface agents. These agents are responsible for interfacing to the real-world and other agent corporations. They are instrumental in providing a consistent user interface to the system and they ensure that appropriate interfaces exist to physical devices and sensors. Corporate agents fall into this category. 111. THE BULLETIN BOARD MODEL Integrative systems [4] and blackboard systems [5] are two popular paradigms used in distributed artificial intelligence re- search. Integrative systems are important because they support multiple knowledge system integration by allowing the coex- istence of heterogeneous agents that can be developed using different programming languages. However, their flexibility and generality usually impose additional design, configuration and implementation loads on the application developer. 0018-9472/92$03.00 0 1902 IEEE

Strategies for real-time dialogue and interaction in multiagent systems

  • Upload
    im

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

IEEE TRANSACTIONS ON SYSTEMS, MAN. AND CYBERNETICS. VOL. 22. NO 4, JUI.Y/AUGUST l Y Y 2 07 I

Strategies for Real-Time Dialogue and Interaction in Multiagent Systems

Vernon Lun and Ian M. MacLeod

Abstruct- Agent dialogue and interaction protocols are im- portant in achieving intelligent collective behavior from a set of heterogeneous agents in real-time computer systems. The characteristics of such agents are analyzed and classified into several generic classes. A bulletin board model is proposed as a flexible paradigm for supporting the coexistence of disparate agents and for investigating agent interaction mechanisms. A set of protocols for agent dialogue and interaction is suggested. The analysis places a strong emphasis on the timing properties of such protocols and on the need to satisfy temporal constraints in real-time environments.

I. INTRODUCTION

HE SYNTHESIS of conventional computer software and T knowledge processing capabilities is crucial to the suc- cess of intelligent computing systems [I]. The diversity of engineering applications and areas of expertise highlights the importance of heterogeneous agents in such systems. Loose- coupling is essential if agents that may have significantly different skills, internal representations and modes of operation are to be accommodated. Intelligent dialogue and interaction are therefore needed to elicit intelligent collective behavior from a set of disparate agents. The role of time in agent interaction is seldom addressed in knowledge system research (21, [3]. We aim to show that time can be used, as part of agent dialogue and interaction, to specify temporal constraints and to ensure that the requirements of real-time response are met.

The paper begins by defining several generic classes of agents that are important. The bulletin board model is proposed as a way of exploiting the advantages and removing the shortcomings of two influential paradigms in distributed arti- ficial intelligence, namely, integrative systems and blackboard systems. Finally, the temporal extents of the model are used as a basis for analyzing and formulating real-time agent dialogue and interaction protocols.

11. CLASSES OF AGENTS

We define agents to be specialist computer programs that have well-defined roles and that possess a narrow set of skills with limited scope. Different classes of agents are required for intelligent collective behavior. The degree to which each type will participate depends on the nature of the problem. Overlapping responsibilities and portfolios may also

Manuscript received March 7, 1991; revised November 1, 1091. This work

The authors are with the Department of Electrical Engineering, University

IEEE Log Numher 9106497.

was supported by the South African Foundation for Research Development.

of the Witwatersrand, Johannesburg, WITS 2050, South Africa.

occur. Except for domain specialists, the agents listed below have generic capabilities applicable to most problem-solving scenarios.

Domain specialists. These are application-specific agents that perform specialized tasks such as speech understanding, signal analysis and sensor interpretation. They may be expert systems, neural networks, simulators or numerically based programs.

Knowledge managers. These control the problem-solving cycle. Their activities include creating, terminating, scheduling and coordinating agents. Other tasks include managing negoti- ation processes and the subsequent contracts, performing task decomposition and allocation and synthesizing results. They are also responsible for the intelligent deployment of resources.

Knowledge facilitators. The need may arise for ancillary tasks and services to facilitate and expedite problem-solving. A typical knowledge facilitator is the arbiter or voter that must reconcile conflicting information, merge disparate per- spectives, resolve uncertainty or manage voting schemes.

Knowledge transformers. The task of knowledge transform- ers is to convert information in one form from one agent into formats acceptable to other agents. They maintain a continuous How of information across various data levels that arise from multiple levels of problem-solving abstraction.

Knowledge monitors. These agents monitor and analyze intelligent behavior and report on system performance. They do not participate in the problem-solving process. Emphasis is placed on their tracing and debugging capabilities. Their reports are extremely important for identifying bottlenecks and inefficiencies.

Interface agents. These agents are responsible for interfacing to the real-world and other agent corporations. They are instrumental in providing a consistent user interface to the system and they ensure that appropriate interfaces exist to physical devices and sensors. Corporate agents fall into this category.

111. THE BULLETIN BOARD MODEL

Integrative systems [4] and blackboard systems [5] are two popular paradigms used in distributed artificial intelligence re- search. Integrative systems are important because they support multiple knowledge system integration by allowing the coex- istence of heterogeneous agents that can be developed using different programming languages. However, their flexibility and generality usually impose additional design, configuration and implementation loads on the application developer.

0018-9472/92$03.00 0 1902 IEEE

672 IEEE TRANSACTIONS ON SYSTEMS. MAN, AND CYBERNETICS, VOL. 22, NO. 4, JULYIAUGUST 1992

BULLETIN BOARD

Bulletin Bulletin Bulletin Bulletin Bulletin Bulletin Queue Queue Queue Queue Oueue Queue

t t t t I t

UNIVERSAL AGENT INTERFACE (BULLETIN POSTING) 1 b b b b 1 Fl I;-.--1 Fl Fl

Facilnators Transformers

HETEROGENEOUS AGENTS (KNOWLEDGE POOL)

Fig. 1. The heterogenous bulletin board model.

Blackboard systems have the advantage of efficiency re- sulting from use of a centralized and shared data pool. They also provide greater explicit knowledge source (agent) control through management modules such as schedulers. Blackboards also allow the problem-solving process to be monitored easily because of the ability of any knowledge source to access any blackboard object. The centralized blackboard is, however, a potential performance and reliability bottleneck. Also, while the trend is to distribute agents across several processors for speed and efficiency (61 the distribution of the blackboards themselves is nontrivial. We regard these two systems as complementary in nature and introduce the concept of a bulletin board as a mechanism for integrating the ideas from integrative systems and the blackboard model. The objective of our synthesis is to combine the strengths of both paradigms and to reduce their respective weaknesses for distributed real-time applications.

The bulletin board model shown in Fig. 1, specifies a universal agent interface that is based on posting bulletins on the bulletin board. Each bulletin represents an instance of a unique data entity that is owned by one and only one agent. Multiple instances of bulletins are stored in a bulletin queue. While the bulletin format and interface is uniform, the information embedded in each bulletin can vary in terms of level of abstraction and semantics.

The concept of a bulletin is analogous to that of a message. Bulletin posting is similar to message passing. Like message queues, bulletin queues are used to buffer information that can- not be processed immediately. However: the term “bulletin” is more appropriate because i t conveys the notion of information that has the characteristics of being succinct, current, useful and important. Bulletins have limited persistence and lose their validity through the passing of time.

Three time tags are associated with each bulletin. The send time (ST) specifies the time at which the bulletin is posted on the bulletin board. The start validity time (SVT) denotes when the information in the bulletin begins to be valid. Similarly, the end validity time (EVT) denotes when thc information loses its validity. These time tags are discussed later in the paper.

By using the bulletin board as a central area for coordinating the bulletins, an analogy to the blackboard model can be drawn. We feel justified in using this terminology because it allows the seemingly disparate philosophies of integrative

systems and blackboard systems to be resolved. Although bulletin boards, like blackboards, rely on a central shared data area, the concept of a bulletin and its close analogy to a message facilitates the extension of our model to support multiple bulletin boards residing on different computers.

A. Public and Private Communication

Human problem-solving is characterized by the use of both public and private communication. For example, a person wishing to sell a house will place an advertisement in the newspaper under the heading “houses for sale.” This adver- tisement is a form of public communication. People interested in buying a house will periodically scan the same classified advertisement section for something suitable. If the potential buyer feels that the house is appropriate, he will contact the seller personally for further negotiation. This form of one-to- one contact can be called private communication.

Earlier work [7] focused mainly on public communication. Private communication is also important. The use of public and private communication depends on the nature of the information and the circumstances in which i t is used. In the above example, two different approaches could be used to respond to the seller’s announcement. Firstly, the seller could negotiate with each buyer on a private and individual basis. Secondly, the negotiation between the seller and the buyers could be conducted in public, for example, by auction. This simple example shows the duality of mechanism. Although the same problem is being solved, different situations dictate whether private or public communication is more appropriate. Two classes of bulletins are used to facilitate public and private communication, namely, state bulletins and event bulletins.

B. State and Event Bulletins

State bulletins are read but not consumed (peeking). They represent persistent states that are valid for limited time intervals and are analogous to blackboard objects. They are used by an agent to convey absolute values of properties that may be of interest to other agents. State bulletins provide for one-to-many or selective broadcast communication and hence support our idea of public communication. A state bulletin can only be posted by its owner. Any agent can read the current state bulletin provided it knows the bulletin name.

Usually, the limited persistence of state bulletins implies that old bulletins are not consumed but are overwritten by new bulletins. However, our approach is to use a bulletin queue in which we remove the first bulletin when and only when i t is invalidated by time. This brings into existence the next state. The effect is the same as overwriting the old bulletin. Also, the same queue management mechanisms as those for event bulletin queues can be used. Therefore, bulletins in the state bulletin queue, except the one at the front of the queue, represent future states. The terminology for posting and reading state bulletins is updating and scanning, respectively.

Event bulletins are consumed by the agent reading the bulletin. This mechanism is used to allow different agents to communicate directly to a particular agent. It is similar to the message passing strategies used by many integrative

LUN AND MACLEOD: STRATEGIES FOR REAL-TIME DIALOGUE AND INTERACTION 673

Future Future Future Future Future Future

state state state state state (Ownerl - state ’ ’ ‘‘L2-m STATE BULLETIN QUEUE

I I

EVENT BULLETIN QUEUE I I 1

Fig. 2. State and events bulletins

systems for providing many-to-one or one-to-one communi- cation [4]. We regard communication via event bulletins as private communication because one sender and one receiver (owner) is associated with any bulletin. Only the owner may read an event bulletin. Any agent may post event bulletins. The terminology for posting and reading event bulletins is sending and receiving, respectively.

The complementary nature of state and event bulletins affects the responsibility of the agents involved in the commu- nication (Fig. 2). In state messaging systems, the onus is on “observer” agents to poll the areas in which they are interested to detect changes in state. The observer agents must decide when and where to poll. For event bulletins, the receiver agent is forced to process each bulletin that is placed in its input queue. This implies that the sender agent can exert some influence on the receiver agent.

C. Bulletin Naming

BulletinType.System.Logica1Group.Owner. Tag (example: State.Computer1 .Alarm-Monitoring.Detector -1 .Tank 1-Low-Level)

The name components are used in the following way. BulletinType: This signifies whether the bulletin is a state

or event bulletin. System: The system name is the usually associated with the

physical name assigned to the computer node on which the bulletin board resides.

LogicalCroup: The logical group is a user-defined name given to the bulletin to signify its area of application.

Owner: The owner name is simply the name assigned to the agent that posts the state bulletin or reads the event bulletin.

Tag: This is the actual name of the data entity, for example, Valve1 or Temp8A.

The naming scheme obviates the need for partitions and levels in bulletin boards. Instead, we allow agents to query other agents by bulletin type, physical name, logical group, owner, tag or any combination of the five name constituents. Subscribing to a collection of bulletins that meet query criteria creates an area of interest or perspective. Partitions and levels can be considered to be special cases of areas of interest.

The bulletin name may seem to be unnecessarily complex.

The bulletin name is constructed as follows:

We argue that a rich naming scheme is required to enable agents to couple to each other dynamically and effectively. The name is instrumental in the creation of multiple perspectives and data groupings. It also facilitates consistent access to multiple bulletin boards residing on different computers.

D. Time Tugs

A fundamental requirement of real-time environments is that there must be guaranteed responses to a number of underlying processes. The term “process” is used in its most general form to describe the part of the environment including the physical plant that the computer system must manipulate. The absence of an appropriate and timely response constitutes failure of the system. Information scanned from sensors or generated by the computer has limited temporal validity. Thus, it is important to ensure that the information used is valid, not only in terms of its qualitative or quantitative contents but also in the context of time.

In multiagent systems, it is a nontrivial task to ensure that real-time deadlines are met and temporal constraints are not violated. Firstly, agents representing physical entities, such as autonomous vehicles, may reside on different computing modules and must communicate with one another via packet radio or local area networks. Although message delivery can sometimes be guaranteed through the use of positive acknowledgment protocols, the receipt and the processing of the message may be delayed long enough for the validity of the contents of the message to have expired. Secondly, the dynamic and flexible nature of intelligent agent interaction and dialogue means that there is no guarantee that the requests of agents will be honored or that global synergy is always achieved. Thirdly, by nature, many artificial intelligence tech- niques involve time-consuming tasks such as searching. An agent can seldom ensure that a solution is found within a given time constraint.

The three time tags associated with each bulletin assist in building systems that meet real-time requirements. Central to the bulletin board model are the start and end validity time tags that indicate when and for how long a piece of information can be used. By separating the ST and the SVT, i t is possible to send information, such as a delayed action, that is only valid at some point in the future. Conceptually, we regard the send time as a characteristic of the implementation platform and the start validity time as a characteristic of the application. All the time tags are linked to a global physical time base that is implemented by independent, approximately synchronized clocks that are maintained in each computing module. Kopetz and Ochsenreiter [8] show that such a global physical time base can be established in practice.

A current area of research is to use the bulletin board model to implement progressive reasoning strategies. Progressive reasoning relaxes the demands on the problem-solving process by first specifying some default solution and then improving that solution incrementally. At any of the intermediate steps, there is always an acceptable solution even though it is not an optimal one. This technique can be used to maximize the quality of the solution without violating real-time deadlines, since some solution is always available.

674 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS. VOL. 22, NO. 4, JULYIAUGUST 1992

agents

E. Bulletin Board Access

The heterogeneous bulletin board model assumes that agents have asynchronous and concurrent access to the bulletin board. Three issues regarding blackboard access must be addressed, namely, atomicity, consistency and persistence [9].

Atomicity is achieved by viewing the reading and writing of bulletins as separate transactions. In nonpreemptive systems, atomicity is ensured since agents will complete all read or write actions prior to relinquishing control. In preemptive systems, the atomicity of read and write actions must be enforced through the use of read locks and write locks. These lock pairs may be implemented per bulletin queue or per logical group. Read and write locks are mutually exclusive, that is, if a read lock has been set, the corresponding write lock may not be set and vice versa. Only one agent may hold a write lock at any time. However, multiple reader access is allowed since the read action is nondestructive.

Bulletin consistency is concerned with ensuring that all agents have a consistent view of the system, irrespective of the order in which they access the bulletin board. Consistency is achieved by including start and end validity time tags with each bulletin. In this way, the writer of the bulletin determines the temporal validity of the information within the bulletin. A consistent view of the bulletin board by all agents is therefore achieved. Without the use of time tags, the reader can only associate the validity of the information with the time at which the information is read. This is unacceptable because the time and hence, the order of access, can create disparate and inconsistent views of the bulletin board among the agents.

If bulletins were not persistent, the reader would have to query the originator of the bulletin every time it needed to use the data associated with the bulletin. This is clearly inefficient. In the other extreme, if infinite persistence is assumed, the data is regarded as valid until it is changed. This approach is also problematic since failure of an agent to update the data in time will result in the use of out-of-date information. Start and end validity times provide a means of achieving limited data persistence. By renewing its validity at the end of each validity interval, data persistence is maintained. If for some reason, such as communication failure, the data validity is not renewed, the data will automatically be invalidated through the passage of time.

1 RECEIVE REPLY U s B IREPLY U s B IREPLY U s B IREPLY U s B I no update

I QUERY SEND EVENT BULLETIN I

Iv. PROTOCOLS FOR AGENT DIALOGUE AND INTERACTION

The bulletin board model forms the basis for examining protocols for real-time agent dialogue and interaction. Our work distinguishes between general information transfer that leads to greater knowledge of other agents and imperative information transfer that results in some form of commitment to action by the senders and the receivers. These two types of information transfer are referred to as agent dialogue and agent interaction, respectively.

Some of these protocols, such as arbitration, have been inspired by human-solving strategies while others, such as negotiation, are not new to distributed intelligence research. The novelty of our approach lies in the emphasis on time and

agents

I time

QUERY STATE BULLETIN - REPLY EVENT BULLETIN

agents I I

t"

QUERY EVENT BULLETIN - REPLY EVENT BULLETIN

agents 'I time

QUERY STATE BULLETIN - REPLY STATE BULLETIN

ate no update

1 QUERY UPDATE STATE BULLETIN I time

QUERY STATE BULLETIN - REPLY STATE BULLETIN

time

QUERY, EVENT BULLETIN - REPLY STATE BULLETIN

U s B - update State Bulletin

Fig. 3. Query as a form of agent dialogue

on the notion of deadlines in these protocols so that real-time constraints are satisfied.

A. Agent Dialogue

Agent dialogue is defined as the process of sharing infor- mation between agents to enhance their knowledge of one another. Immediate action need not necessarily arise from such dialogue. Agent dialogue may serve to reduce communication requirements since the knowledge gained may assist an agent in deciding what future information to send and to whom. The information also augments local expectations and predictions of the actions of other agents by a specific agent, which may enable i t to refine its own actions for improved system harmony. Three classes of dialogue are considered, namely, query, request and complain.

In agent dialogue, the nature of the information transferred is usually not critical to the operation of the system. It serves to enhance and optimize problem-solving. However, validity times are still used to indicate the temporal validity of the information exchanged. It is therefore necessary to re-issue queries, requests and complaints periodically.

Query: The aim of a query is to elicit information from other agents as to their behavior. Two mechanisms for query- ing can exist (Fig. 3). Firstly, a query can be broadcast selectively (multicast) to a group of agents by using a com- bination of the system and logical group components of the bulletin name. The actual broadcast is in the form of a state bulletin. This places the responsibility of scanning the bulletin board on the potential receivers. Secondly, a query can be directed to a particular agent or a small group of agents. In this case, the sender would expect a reply from each receiver. Event bulletins are used for this form of query.

The replies from other agents can either be state bulletins or event bulletins. The choice is dependent on the nature of the information. If the information does not change rapidly with time, the reply could be through an event bulletin. A n example of such information is the task description of an agent and its complexity factor. On the other hand, some information has limited validity in terms of time and requires

LUN AND MACLEOD: STRATEGIES FOR REAL-TIME DIALOGUE AND INTERACTION h7S

agents RECE VE I REPLY (IFAhV SEhDEU'ENT E L - I T h

agents action

action

POShDeaL'llon

REOUEST: STATE BULLETIN - REPLY: EVENT BULLETIN

agents

1,me

COMPLAIN: STATE BULLETIN

REOUEST; EVENT BULLETIN - REPLY; EVENT BULLETIN COMPLAIN: EVENT BULLETIN

Fig. 4. Request as a form of agent dialogue

periodic updates. State bulletins are more appropriate for conveying such information that includes sensor data and agent expectations.

Request: The aim of a request is to elicit help from other agents or to solicit some form of action from them. Help may be in the form of information about which other agents to contact, where to look for information and when action is appropriate. If the agent has learning capabilities, it may elect to ask other agents for instructions as to how it should carry out a particular task. For example, a neural network may request information as to what patterns i t must act on and how it should determine if a pattern passes the matching criteria. Similarly, an expert system could request information regarding uncertainty management.

Apart from help and instruction, an agent may request that certain actions be taken. So as not to violate the distinction between dialogue and interaction, we regard such requests as recommendations that are not binding on the receiver. For a request to be binding, a contract, which can be regarded as a simple and special case of negotiation, must be entered into by two agents. This is discussed under agent interaction. Rec- ommendations do not normally require an acknowledgment. However, a recommendation may be given to indicate whether the request will be honored. A n example of a recommendation is when one agent requests another to perform self-diagnostic tests because the former has detected erratic behavior by the latter.

As with queries, requests can be broadcast to a select group of agents or directed to a single agent. Generally, the response is returned to the sender and is not broadcast, otherwise there cannot be an explicit reply or acknowledgment. Fig. 4 shows the different possibilities.

Complain: It is also important to have a facility for com- plaining to other agents. Levin and Moore [lo] refer to this form of dialogue as griping. The form of the complaint would consist of the nature of the dissatisfaction and the proposed remedy. For example, an agent may complain about receiving too many queries in the form of event bulletins. A remedy would be to broadcast the information in future and to let others know the bulletin name. Usually, a complaint is informative and requires no reply or acknowledgment (Fig. 5). The complainant receives acknowledgment implicitly by observing that conditions have improved subsequent to the complaint.

B. Agent Interaction Agent interaction is concerned with the coordination and

synchronization of agent actions in real-time. Such interaction

Fig. 5. Complain a$ a form of agent dialogue.

often implies a commitment to information and action by one or more agents. Four classes of agent interaction will be described. They are negotiation, arbitration, election and synchronization.

In real-time environments, i t is difficult to guarantee that messages are successfully deliverd and processed. Further- more, it cannot be assumed that by the time a message is delivered and processed, its contents are still valid. Pro- cesses, computers and communication links do not have per- fect reliability in practice. Furthermore, although positive acknowledgment protocols can guarantee the delivery of the message, its contents may have lost their validity due to communication delays. Also, an agent receiving a message may be unable to process the message immediately. Our bulletin board model does not assume that message delivery is guaranteed. Only messages whose contents are still temporally valid are processed.

Negotiation: The negotiation metaphor is used by Smith [ 111-[13] as a basis for the contract net protocol. We adopt the contract net protocol for negotiation. The protocol begins when an agent (the manager) makes an announcement (the enquiry) to other agents that some task must be performed. The announcement contains a brief task description, an eligibility specification that specifies the criteria that must be satisfied by the potential bidders, a bid specification that describes the expected form of the bid and the expiration time that specifies the submission deadline for bids.

Bidders respond to the announcement by submitting bids (or tenders) that contain a description of their capabilities. Each bid motivates why that particular agent can and should perform the task. The manager adjudicates the bids after the expiration time is reached and makes an award. The successful agent (the contractor) acknowledges the award either by sending an acceptance or a refusal message. The latter case may result from the inability of the successful bidder to honor the contract. Awards can be announced or directed. An announced award is the result of a negotiation process. A directed award occurs when a manager assigns a task to a particular agent without negotiating. It combines the announcement, bid and award stages into a single stage. Once an award has been accepted, a contract is said to have been concluded.

Reports are sent to the manager to indicate partial or complete results. The manager may interrupt the contractor by sending a termination message. Request and information messages are used to exchange information when the task is being performed. Agents can also advertise their availability by sending node available messages. These messages can be regarded as subsets of agent dialogue discussed earlier.

676 IEEE TRANSACTIONS ON SYS

The negotiation metaphor is important as a form of agent interaction because it allows for dynamic agent coupling and mutual selection. It should also be noted that negotiation can be suboptimal since bids are adjudicated generally without considering other announcements that may be in progress [14]. Except for the case of the directed award, the negotiation process can be quite lengthy. Conry el al. [ 151 describe how to use multistage negotiation for resolving conflicting contracts. However, we feel that their effort to achieve a globally consistent set of contracts will increase the negotiation time significantly.

A difficult issue that has not been adequately addressed is whether an agent can be allowed to bid for more than one contract at a time. This could result in an agent receiving more than one award. To accommodate multiple awards, an agent must be allowed to refuse an award. However, the cost may be high since the award must then be redirected to another agent who, in turn, has the option of refusing the award. A second approach is to restrict each agent to one bid at a time. This has the detrimental effect of serializing resource allocation because all the bidders must wait until an award is made before bidding for another contract. This is the approach taken by Smith [13].

Choosing which approach to take is highly dependent on the number of tasks that are announced and the number and type of agents that can service them. Generality is important and hence we take the first approach that allows agents to bid for more than one contract. This extends the mutual selection process by allowing the agents to decide which award they should accept. The agent itself must determine the number of bids it should make since it is in the best position to judge its own capabilities. When each agent decides to make only one bid at a time, the scheme reverts to Smith’s approach.

To accommodate multiple bids and awards, we propose a novel award passing strategy. In order to minimize message traffic, the manager inserts a list of successful bidders in order of preference as part of the award bulletin. The award is sent to the first bidder in the list. If it cannot accept the award, i t removes its name from the list, adds its justification for refusal and sends the award to the next bidder on the list. A bidder who wishes to accept the award sends an acknowledgment to the manager directly. The last bidder on the list must send an acknowledgment in the form of a refusal and the list of justifications to the manager. This removes the need for separate refusals from the bidders to the manager.

Apart from efficiency gains, award passing also contributes to the decision-making process in a protocol based on the contract net idea. The list of awards assists each successful bidder because it provides information as to the number and identity of other agents who are able to perform the task. To optimize the global usage of resources, i t can subsequently bias its selection toward contracts that only a small group of agents or only the successful bidder is capable of carrying out.

The bulletin board model is highly suited to implementing the contract net protocol (Fig. 6). State bulletins facilitate the broadcast of announcements. Event bulletins are used for bids, awards and acknowledgment. Furthermore, the use of validity times is vital in stipulating announcement, bid, award and

agents

E

D

C

B

A

EMS, MAN, AND CYBERNETICS, VOL. 22, NO. 4, JULYiAUGUST 1992

- no b d made due to Ineiigibilky or late scanning

I , - ~ s E c o m m u n ~ ~ deiays result in late arrtval of bid

C refuses award. oases to B I

BID

I ANNOUNCEMENT I AWARD to {C. Bk between A and B

THE NEGOTIATION METAPHOR USING THE CONTRACT NET PROTOCOL

Fig. 6 . Negotiation as a form of agent interaction.

acknowledgment deadlines that may be critical in real-time situations. Lost or late announcements and bids are supported automatically. No explicit expiration time is required in the announcement since this is synonymous to the end validity time of the bulletin. Award and acknowledgment deadlines are important in assisting the agent to decide which other awards it can wait for before making its final decision to accept a particular award.

Arbitration: In any complex problem-solving scenario, dis- putes can arise from conflicting perspectives, potentially in- compatible goals and access to finite resources. A probable result when none of the agents involved can continue their tasks is a deadlock. Despite careful design, the dynamics and complexity of agent interaction mean that every eventuality cannot be predicted and hence, deadlocks cannot prevented.

Deadlocks are well-known in computer operating system theory [16]. Two approaches are commonly used to handle deadlocks. Firstly, some protocol may be defined to ensure that the system will never enter a deadlock. Secondly, mechanisms may be provided so that the system can enter a deadlock but is able to recover. The latter case involves detecting the deadlock and then terminating one of the processes or preempting its resources in order to break the infinite wait cycle.

These approaches are not always suitable. Consider two automated guided vehicles (AGV’s) travelling in opposite directions down a long aisle. Each AGV enters the aisle without prior knowledge of the other. This may result from communication breakdowns, limited sensor detection ranges or the absence of a central master routing agent. Therefore, the potential deadlock cannot be prevented. The deadlock manifests itself when neither vehicle will give way by re- treating. This is highly probable given that both vehicles will contain similar or identical strategies. Even if they negotiated directly with each other, their current positions and goals may be so similar that due to their finite reasoning powers each concludes that the other should give way. Terminating either of the agents is not feasible since it merely renders the vehicle inoperable. Resource preemption is not possible because the solution required involves more than just relinquishing the hold an agent has on a resource, but i t involves some physical action being taken. This must be done with the consent of the vehicle in question.

Since agents possess some reasoning capability, we propose a third mechanism, arbitration, as a means of overcoming deadlocks when standard techniques fail. The objective of arbitration is to provide an impartial referee to achieve a settlement between two or more parties in the event of a dispute. The term “deadlock” is used in its broadest sense to

LUN AND MACLEOD: STRATEGIES FOR REAL-TIME DIALOGUE AND INTERACTION 677

signify that agents are locked in an irreconcilable state, either because of resource conflicts, contradictory views and results, or potentially conflicting actions. Arbitration is an elegant complement to negotiation. Whereas negotiation emphasizes mutual selection, arbitration implies mutual consent.

Several ground rules must formulated to ensure that arbi- tration is successful. They are:

Detection: The agents involved in the dispute must agree that a deadlock has been reached and must be willing to submit themselves to arbitration. Note that this is different from standard mechanisms in which the system detects the presence of the deadlock. Here, deadlock detection is by mutual agreement.

Arbitration: The arbiter must have enough information about the situation and about the global system objective to make the appropriate judgements. The arbiter must be impartial and more knowledgeable than the other agents.

Action: The agents must readily accept the findings of the arbiter even if it is not to their local advantage. Often, arbitration leads to a compromise by all parties concerned.

The aforementioned conditions may appear unrealistic be- cause they assume that the agents will be magnanimous enough to agree to and abide by the arbitration process. They also assume the availability of a competent arbiter. However, in the distributed intelligence context, it is reasonable to assume that agents will have sufficient reasoning capabilities to make arbitration feasible. In practice, there is often an arbiter such as a supervisory computer that has a better global perspective than any of the agents under arbitration.

The arbitration process can be described as follows. A deadlock token is passed around the agents until consensus is reached by all agents that a deadlock has been reached. Information is attached to the token as it is passed around. This includes the nature of the deadlock, the names of potential arbiters, the identity of the agents, the resources held by the agents and the compromises they are willing to make. If there is no known or preferred arbiter, the negotiation process described in the previous section is used to find one. If the arbiter is known, a direct award can be made. An agent may be elected to manage the negotiation process. The findings of the arbiter can either be broadcast or sent to each agent depending on the nature of the settlement.

The bulletin board model accommodates the arbitration protocol (Fig. 7). Event bulletins are used for circulating the deadlock token. The negotiation process to find an arbiter has already been described. State bulletins are used to broadcast arbitration results. Otherwise, these results are sent to agents individually via event bulletins. The validity times of the various bulletins are vital for stipulating arbitration deadlines that may be critical in real-time situations. For example, the vehicles described in the previous example might continue moving in their respective directions. The arbitration deadline must be set to take into account one of the vehicles decelerat- ing, stopping and accelerating in the opposite direction without a collision occurring. If the deadline has been reached without successful arbitration, the agents controlling the vehicle must resort to alternative actions such as random backoff or stopping the vehicle immediately.

I

agents 1 arbner through negotiation I Arbitration and Settlement Deadlock detection and sdectlon 01

I DEADLOCK 4 1 rFl - v j - B sends arbnration request to A token circulation

1"P

In this example, B 1s chosen as the negotiation manager and 1s therefore also responsible for sending the arbitration request to A

Fig. 7. Arbitration as a form of agent interaction

Standard distributed algorithms and protocols such as those suggested by Raynal [17] can be used for generating the deadlock token and for electing an agent to manage the negotiation process. Bulletin types are implicit. Deadlock token circulation and arbiter selection use event bulletins. Settlement can be via state or event bulletins.

Election: Two types of elections can exist. In a distributed election, there is no central adjudicator that chooses among the voters. This type of election is suited to situations where an agent must be selected from a particular group. It is ideal for supporting dynamic reconfigurability. In a centralized election, one managing agent, which does not take part in the voting, makes the final choice. An application of centralized election would be the selection of the best source of information among a set of similar agents. It is a way of synthesizing information and providing active redundancy.

While the subject of distributed elections is important, we feel that the algorithms developed in conventional distributed computing research are equally applicable to distributed real- time intelligence. Raynal [ 171 and Peterson and Silbershatz [16] provide valuable discussion of these algorithms. It is sufficient to note that many of these elective techniques such as the bully algorithm rely on time intervals and actions on time-out. Furthermore, the communication requirements include broadcast and point-to-point mechanisms. State and event bulletins, together with their associated validity time intervals, meet all these requirements. Therefore, the bulletin board model is suitable for implementing elective algorithms.

Even though a centralized election makes the managing agent a potential weak link and bottleneck, i t is highly suitable for some applications such as distributed sensing and result synthesis. A centralized scheme is also more efficient since it enforces a clientisewer relationship. Active redundancy is also supported, since the voting process uses the most appropriate information available from a set of agents. Each agent participating in the election will make its vote that consists of the data it is volunteering and some indication of the importance of the agent and its data. Votes have a limited lifetime determined by the voter. The manager scans the set of voters periodically. All votes that are time-invalid are discarded. The manager may select information from a single voter or i t may construct a composite view by data synthesis. The additional information about the agent and its data that is submitted as part of the vote may be used to bias the judgement of the manager.

Voting can be done by updating state bulletins, requiring the manager to scan them periodically. A manager may also decide to request voters to send their votes as event bulletins.

678 IEEF TRAN5ACTIONS O N SYSTEMS. MAN. AND C‘YBFRNETICS. VOL 22, NO 4, JULYIAUGUST 1992

MEET

agents

E

D

C

E

A

time

-indicates A IS calling for an election 0 -indicates bulletin IS Sent or updated

A QUORUM

Fig. 8. Election as a form of agent interaclion

sent to E, C, D, E

Since the bulletin type is defined in the bulletin name, the same primitives can be used for both state and event mechanisms.

Fig. 8 shows a typical election process. The approach taken in this example is to let agent A scan state bulletins from B, C , D , and E . It is assumed that L? has a higher priority than C , which has a higher priority than D and so on. The double- edged boxes in the diagram indicate when 11 calls an election. Initially, the only valid bulletin scanned is C‘. Agent ’4 elects information supplied by C: for the duration of its validity time. Another election is called just before the expiry of the current elected data.

Note that even though the diagram indicates an overlap of B, C , D and E during the second election, c‘ is not considered because it is known that i t will expire at the end of the current election. Therefore, only bulletins from U . D and E are considered. In the sixth election, the bulletins received during this period are C and E . However, the end validity time of bulletin C occurs at the same time as the current election. Hence it is not considered for election. If, during an election, there are no valid bulletins. Agent .4 may extend the validity of the current election and call for elections more frequently until another election is successful.

Synchronization: The fourth type of agent interaction is synchronization. This is used to provide mutual exclusion when accessing critical resources and to coordinate the actions of two or more processes executing concurrently. Ben-Ari [ 181 describes many of the synchronization tools currently available. Examples include semaphores, monitors and the rendezvous. We foresee little difficulty in implementing any of these well-established techniques under the bulletin board model. However, we propose a primitive that allows loose synchronization between loosely coupled agents.

In loose synchronization. several agents will decide to meet at some point in time. The motivation for the meeting is application dependent. Agents may meet to pool their results or to synchronize their actions. To recognize a bona fide meeting, a quorum must be reached. Each agent can decide what i t regards as a valid quorum. A time-out results when no quorum is reached and the agent must then decide to continue waiting or to take some default action. Agents can decide to wait different intervals. However, they must all agree on the reason for the meeting.

We regard this mechanism as a means of achieving some degree of coordination between agents without creating a tightly coupled system. It is also consistent with the philosophy of creating functionally accurate, cooperative systems such as those described by Lesser and Corkill [lY] as opposed to computationally accurate, nearly autonomous systems that

agents

D

E ~ 1-1 timeout

would demand absolute synchronization among the agents. We maintain that the relaxation of synchronization can result in opportunistic problem-solving, since a meeting occurs when a quorum is reached. No specification is made as to how that quorum is constructed or which agents must be in it. Agents may also join several meetings at a time.

Under the bulletin board model (Fig. Y), each participant sends an event bulletin to a knowledge manager to indicate that i t wishes to join a meeting. The manager notifies an agent once a quorum has been reached. The end validity time of this notification is equal to the nearest end validity time of the agents belonging to that quorum. The need for a knowledge manager can be eliminated by using only state bulletins. However, this is less efficient and the onus is then on each agent to check continually if other agents have “arrived” at the meeting and also to keep track of how many have “left.”

When the validity of the bulletin expires without a meeting taking place, a time-out is regarded as having occurred. Since the time-out is synonymous with bulletin expiry, each agent can detect if a time-out has occurred and take appropriate action, thereby obviating the need for notification by the knowledge manager.

.

v. SUGGES IED APPLICATION AREAS FOR AGENT DIALOGUE AND INTERACTION

The generality of the different classes of agent dialogue and interaction make them applicable to many domains. Some suggestions regarding their u5e are provided in Fig. 10. We hope to report on other novel application areas as this research progresses.

VI. CONCLUSION

In engineering systems there is a trend toward the use of subsystems that are increasingly intelligent and autonomous. In complex systems it is necessary to take into account disparate paradigms such as neuroscience and knowledge- based systems. There is also a growing need to integrate heuristic and qualitative reasoning with numerical compu- tation. In intelligent systems, there should be agents that manage knowledge processing, facilitate knowledge transfer and transform information from one form to another. These agents help domain specialists to coordinate and cooperate in the best possible way. The need for agents that monitor system performance and provide intelligent and flexible front-end interfaces can also be foreseen.

The proposed bulletin board model is suitable for sup- porting corporations of heterogeneous agents. It combines the attributes of both integrative and blackboard systems and

LUN AND MACLEOD: STRATEGIES FOR REAL-TIME DIALOGUE AND INTERACTION 679

Interaction Dialoeue ~~

Query Ascertaining the characteristics and activity of other Negotiation Flexible and dynamic agent coupling for:

Request

agents pertaining to their: - purpose and goals; - capabilities. limitations, and responsibilities; - contributions to problem-solving process; and - expectations and intentions.

Eliciting or requesting the help of other agents such as: - supplying additional global and local

information; - communicating techniques and knowledge; - performing tasks that have global benefits.

Complain To show dissatisfaction with other agents arising from: - the lack of access to information and resource; - poor response from other agents; - the failure of other agents to meet deadlines;

and - the inability of other agents to fulfill

commitments.

- task and resource allocation; - determining agent capabilities and

responsibilities; and - attempting to optimize the problem-solving

process.

Arbitration To reconcile conflicts and deadlocks due to: - resource contention with similar priorities; - conflicting problem-solving strategies; and - contradictory information

Election To reach consensus through voting. Typical uses are: - synthesizing overlapping results; - agreeing on some global strategy; and - electing an arbiter for conflict resolution.

Synchronization Loose coordination of agents: - ensuring a minimal set of resources are

available; - ensuring the number of capable agents exists;

and - sufficient parties are present for representative

voting.

Fig. 10. Suggested application areas for agent dialogue and interaction.

provides a sound and comprehensive basis for accommodating disparate knowledge sources, for supporting real-time require- ments and for facilitating physical distribution of computing resources.

Several types of agent dialogue and interaction protocols were suggested in this paper. Concern with real-time issues has led to an emphasis on the temporal properties of these protocols. However, they are sufficiently general to be appli- cable to applications that do not operate in real-time. Intelligent dialogue and interaction is an important topic because it encourages the sharing of knowledge and information and the develoDment of multiagent svstems.

U ,

REFERENCES

V. Lun and I. M. MacLeod, “The challenge of intelligent computing,” Trans. S. Afr. Inst. Elec. Eng., vol. 81, no. 2, pp. 7-12, 1990. __, “Distributed knowledge systems in real-time applications,” presented at the 5th IFAC/IFIP Symp. Software for Comput. Contr., Johannesburg, S. Africa, Apr. 1988. __, “Distributed intelligent objects in an architecture for real-time monitoring and control,” presented at the 2nd IFAC Workshop on Artificial Intelligence in Real-Time Control, People’s Republic of China, Sept. 1989. A. H. Bond and L. Gasser, Eds., Readings in Distributed Artificial Intelligence. R. Engelmore and T. Morgan, Eds., Blackboard Systems. Reading: Addison-Wesley, 1988. M. N. Huhns, U. Mukhopadhyay, L. M. Stephens, and R. D. Bonnell, “DAI for document retrieval: the MINDS project,” in Distributed Arti- ficial Intelligence, M. N. Huhns, Ed. San Mateo: Morgan Kaufmann, 1987, pp. 249-284. V. Lun, and 1. M. MacLeod, “A testbed for distributed real-time intelligent computing,” S. Afr. J . Sci., vol. 87, pp. 308-314, 1991. H. Kopetz and W. Ochsenreiter, “Clock synchronization in distributed real-time systems,” IEEE Trans. Comput., vol. C-36, pp. 933-940. J. R. Ensor and J. D. Gabbe, “Transactional blackboards,” in Proc. 9th. Int. Joint Conf Artificial Intell., 1985, pp. 34&344.

San Mateo: Morgan Kaufmann, 1988.

[ lo ] J. A. Levin and J. A. Moore, “Dialogue-games: metacommunication structures for natural language interaction,” Cognirive Sci., vol. 1, pp, 395-420, 1977.

[ 111 R. G. Smith, “The contract net protocol: high-level communication and control in a distributed problem solver,” IEEE Trans. Comput., vol. C-29, pp. 1104-1113, 1980.

[12] R. G. Smith and R. Davis, “Frameworks for cooperation in distributed problem solving,” IEEE Trans. Syst., Man, Cybern., vol. 11, pp. 61-70, 1981.

[I31 R. G. Smith, A Framework for Distributed Problem Solving. Ann Arbor: Univ. Microfilms Int., 1981.

(141 R. Davis and R. G. Smith, “Negotiation as a metaphor for distributed problem solving,” Artificial Intell., vol. 20, pp. 63-109, 1983.

I151 S. Conry, R. Meyer, and V. Lesser, “Multistage negotiations in dis- tributed planning,” University of Massachusetts, Tech. Rep. COINS TR86-87, pp. 1-17, 1986.

[16] J. L. Peterson and A. Silberschatz, Operating System Concepts. Read- ing: Addison-Wesley, 1985.

[17] M. Raynal, Distributed Algorithms and Protocols. New York: Wiley, 1988.

[18] M. BenAri, Principles of Concurrent Programming. Englewood Cliffs: Prentice-Hall, 1982.

[19] V. R. Lesser and D. D. Corkill, “Functionally accurate, cooperative distributed systems,’’ lEEE Trans. Syst., Man, Cybern., vol. 11, pp. 81-96, 1981.

Vernon Lun received the BSc. and M.Sc. de- grees in electrical engineering and the Ph.D. degree in 1983, 1986, and 1991, respectively, from the University of Witwatersrand, Johannesburg, South Africa.

Since June 1991, he has been working as a Senior Development Engineer with AECI Process Comput- ing (Pty) Ltd., where he is designing distributed real-time intelligent supervisory control systems. His interests include distributed computer control, artificial intelligence applications, and real-time pro- gramming.

680 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 22, NO. 4, JULYIAUGUST 1992

Ian MacLeod received the B.Sc (cum laude) de- gree in electrical engineering and the Ph.D. degree in 1973 and 1983, respectively, from the University of Witwatersrand, Johannesburg, South Africa

After several years in the British and South African chemical industries as a control and in- strumentation engineer, he loined the University of Witwatersrand-in 1981 and since 1984, he has been Fuchs Professor of Control Engineering in its Department of Electrical Engineering, where he teaches courses on control engineering, industrial

process control, and real-time computer control systems and directs research in the fields of distributed computer control systems and engineering applications of artificial intelligence.

Dr. MacLeod is a member of the South African Institute of Electrical Engineers, the South African Institute of Measurement and Control, and the Computer Society of South Africa. He is a registered professional engineer. He has served on the program committees of many international conferences and is an Associate Editor of the Transactions of rhe Suuth Africun Institute of Electrical Engineers and an Advisory Editor for Engineering Applicutioris of Artificial Intelligence.